VIM
- h向左、j向下、k向上、l向右。
- 数字键+[hjkl],向指定的方向移动数字个光标,如5j,向下移动5个光标。
- ctrl+f向下移一页,ctrl+b向上移一页。
- 0移动到当前行第一位,$移动后当前行最后一位。
- ctrl+g移动到文档最后一行,ctrl+h移动到文档第一行(gg功能相同)。
- n+enter,光标向下移动n行。(或者n+j,向下移动n行;n+k,向上移动n行)
- /word,向下查找字符串,可配合n向下查找,也可配合N向下查找。
- ?word,向上查找字符串,可配合n向下查找,也可配合N向下查找。
- :1,$s/word1/word2/gc,从第一行到最后一行,将查找到word1更换为word2。
- 55gg,到第55行。
- x向后删除一个字符,X向前删除一个字符。
- dd删除当前行。
- dgg删除光标与光标之前的行.
- d+shift+g删除光标行至最后行
- ndd删除光标以下n行。
- yy复制当前行,nyy复制光标往下n行内容。
- p从光标所在行之后插入,P从光标所在行之前插入。
- 自由复制,v,使用hjkl,之后使用y进行复制,然后使用p粘贴。
- u恢复上一个动作。
- D删除光标至行最后内容。
- ctrl+r重做上一个动作。
- :set nu设置行号,:set nonu取消设置行号。
- :%s/x/y/g全局中将x替换成y。(%所有行,g贪婪)
- 多行注释,CTRL+v,进入VISUAL BLOCK模式,选中多行后再SHIFT+i,输入#号,再点击ESC,选中行就被注释。
- 多行取消注释,CTRL+v,进入VISUAL BLOCK模式,选中多行,输入x,取消选中行注释。(此功能也可注释类似行中,中间某一段内容)
- 打开多个文件vim a b c,:n切换到下一个,:N切换到上一个
- 同时显示多个文件,:split /tmp/d,Ctrl+w+j/k-切换下/上窗口,Ctrl+ww—依次向后切换到下一个窗格中
- 查看文件名:f
- 查看路径:pwd
- :g/\.xxx/d 查找到有xxx行进行删除
注:vi过程中,异常退出,会产生一个.文件名.swp文件。导致再次vi会提示文件只读,并且之前修改的内容未记录。解决办法为使用vi -r修改文件并保存后,再rm .文件名.swp,即可恢复。
visual block、visual、visual line三种模式,第一种模式是以块为选择单位(CTRL+v),第二种模式是以字符为先把单位(v),第三种模式是以行为先把单位(SHIFT+v)。