标签:zl
vi:Visual Interface----------------------全屏编辑器、模式化编辑器
vim:VI iMprove
vim模式: |
编辑模式(命令模式) 输入模式 末行模式 |
模式转换:
编辑→输入 | 输入→编辑←末行 | 编辑→末行 |
i:光标前输入 a:光标后输入 o/O:新建行输入 I:行首输入 A:行尾输入 |
Esc |
: |
VIM快捷键:
打开文件:默认为编辑模式 | 关闭文件末行模式下 |
# vim FILENWME +n:打开文件,并定位于第n行 +:打开文件,定位至最后一行 +/PATTERN:打开文件,定位至第一次被模式匹配到的行的行首 | :q:退出 :w:保存 :wq!:强制退出 |
移动光标(编辑模式下) | |
逐字符移动: h:左 l:右 j:下 k:上 #h/l/j/k:移动#个字符 | 以单词为单位移动: w:移至下一个单词的词首 e:跳至当前或下一个单词的词尾 b:跳至当前或前一个单词的词首 #w/e/b:移动#个单词 |
行内跳转: 0:绝对行首(包括空白字符) ^:行首的第一个非空白字符 $:绝对行尾 | 行间跳转: #G:跳转至第#行 G:最后一行 末行模式下,直接给出行号即可跳转 |
翻屏: Ctrl+f:向下翻一屏 Ctrl+b:向上翻一屏 Ctrl+d:向下翻半屏 Ctrl+u:向上翻半屏 | |
删除单个字符 x:删除光标所在处的单个字符 #x:删除光标所在处及向后共#个字符 | |
删除命令:d(复制命令:y------------------用法同d) | |
d命令跟跳转命令组合使用 #d跳转符:#dw、#db dd:删除当前光标所在行(剪切) #dd:删除包括当前光标所在行在内的#行(剪切) | 末行模式下: :startADD,endADDd .:表示当前行 $:最后一行 +#:向下的#行 |
粘贴命令:p P:如果删除或复制内容为整行,则粘贴至光标所在行的上方;反之,则粘贴至光标所在字符的前面 p:如果删除或复制内容为整行,则粘贴至光标所在行的下方;反之,则粘贴至光标所在字符的后面 |
修改:先删除内容,再转换为输入模式 c:用法同d命令 | |
替换: r:光标指定字符,#r+要替换为的字符(#代表将其及后#个字符都替换) R:进入替换模式 | |
撤销u编辑操作:undo u:撤销前一次的编辑操作,连续u可连续撤销(上限50) #u:直接撤销最近#次编辑操作 撤销最近一次撤销操作:Ctrl+r | |
重复前一次编辑操作: . | |
可视化模式:(选中目标,执行操作) v:按字符选取 V:按矩形选取 | |
查找: /PATTERN、?PATTERN、n、N | |
查找并替换:在末行模式下使用s命令 :ADDR1,ADDR2s/PATTERN1/PATTERN2/g |
标签:zl
原文地址:http://zjing1027.blog.51cto.com/13395854/1981002