如何提高程序员的键盘使用效率?——高级软件工程课第一次作业

  在其他条件保持不变的情况下,更高的键盘输入效率毫无疑问地会提高写代码的效率,同时将使得写代码的过程呈现更好的连续性——想想如果为在键盘上找字母或不停地按退格键而浪费相当的时间——这不仅会削减程序员们的工作热情——因为脑子里的思路断断续续地地被键盘占据了,还会给旁人一种不专业的印象,这是一个程序员所不能接受的。因此,提高键盘效率是很重要的,毕竟我们都是要成为专业“键盘侠”的男人。

  先来讲一下程序员最常使用的键盘技能,这包括对操作系统的使用、相关IDE的快捷键和VIM命令等。

1.系统级别快捷键或命令

  windows:对于图形界面的操作系统,有时我们使用一些快捷键来代替鼠标操作能缩短操作时间,尤其是我们常用的ctrl+c和ctrl+v组合键

 

按该键

执行以下操作

Ctrl + X

剪切选定项。

Ctrl + C(或 Ctrl + Insert)

复制选定项。

Ctrl + V(或 Shift + Insert)

粘贴选定项。

Ctrl + Z

撤消操作。

Alt + Tab

在打开的应用之间切换。

Windows 徽标键  + R

打开“运行”对话框。

Windows 徽标键  + S

打开搜索

   Linux:纯粹命令行linux系统的操作全靠键盘的输入,命令非常的多,下面只列举几个常用的命令

cd  

进入某个目录

ls

查看目录中的文件

mkdir

创建目录

rm

删除

cp

复制文件

find    

搜索

mount

挂载

mv 

文件或目录的移动或更名

bzip2/bunzip2

.bz2文件的压缩/解压缩程序 

cat

连接文件并打印到标准输出设备上

grep

正则表达式搜索文本

Head/tail

显示文件的开头/尾部的内容

sort

将文件进行排序

 

2.IDE快捷键和VIM命令

  IDE以visual studio为例,列举一些默认的快捷键,这些都可由用户自定义

Ctrl+K,C
注释选定内容 (Comment)
Ctrl+K,U
取消选定内容注释 (UnComment)
Ctrl+J
智能提示
Ctrl+M
折叠或展开当前方法
Ctrl+F5
开始执行
F9   
启用/关闭断点
Ctrl+F9
停止断点
ctrl+减号
回退到光标上一次的位置
Ctrl+E,S
查看空白
Ctrl+Shift+L
删除当前行

  vim:

h或退格
左移一个字符
ctrl+f
下翻一屏
m{a-z}
标记光标所在位置,局部标记,只用于当前文件
delmarks a b
删除标记a和b
gI
在当前行第一列插入
c[n]w   
改写光标后1(n)个词
dd
删除游标所在的那一整行(常用)
y1G
复制游标所在行到第一行的所有数据
:wq
储存后离开
:set nu
显示行号,设定之后,会在每一行的前缀显示该行的行号

nx

n 为数字,连续向后删除 n 个字符

  针对以上技能的训练,其实主要就是熟能生巧。首先要熟悉这些命令和快捷键,这只能依赖于平时的多用,养成习惯后,在写代码的过程自然能得心应手。其次要熟练、高效地使用键盘输入。这是可以通过不断地训练来提高的。

  1.掌握正确的手指分区

 如何提高程序员的键盘使用效率?——高级软件工程课第一次作业_第1张图片

 

 

  正确的指法教会了我们每根手指该负责哪些按键,分清各自的负责区域,分工操作才能做到“盲打”。每次使用键盘输入之前,先将双手食指放在带有辅助键帽突起的 F、J 上,缓缓展开,差不多就是标准键位的摆法。可以借助金山打字通等辅助软件来矫正自己的键位,勤加练习,在写代码的实战中运用标准指法,就自然能够做好这一点。

  2.一段时间的坚持练习

  大一的时候也是才纠正成标准指法,为了提高打字速度和准确度,那段时间天天使用金山打字通来练习。中英文可以换着输入,目的只有一个——提高对指法的熟悉度。这其中我们也可以使用相关软件自带的游戏,在游玩的过程中为了达到通关等目的自然地想要加快速度,寓教于乐,从而达到目标。

  3.其他

  无可否认,一个趁手的键盘在一定程度上也会提高我们的输入效率,毕竟,使用机械键盘码字实在是一件有快感的事情

  

  下面给出一些打字练习的工具、网站和软件

  1.金山打字通

  2.在线打字网

  3.TypingClub

 


如何提高程序员的键盘使用效率?——高级软件工程课第一次作业_第2张图片

 

  通过标准指法训练和一定量的文本练习,打字速度会有显著提升,以上是我经过标准指法的训练后的成果。总而言之,要多加练习就能提高键盘录入的概率,做到得心应手。 

你可能感兴趣的:(如何提高程序员的键盘使用效率?——高级软件工程课第一次作业)