vim基本命令
- :q!:不保存退出
- :wq:保存退出
- 删除操作
- d$:删除当前光标之后的一行
- de:如果光标位于单词首个字母,删除整个单词;如果位于单词中部,删除光标后的剩余单词
- dw:删除直到下个单词,不包含下个单词的首个字母
- d2w:光标移动单某个单词首个字母后,执行后,删除包括当前单词在内的2个单词
- 2dd:删除2行
- 光标定位:
- 0:行首
- 2w:向后移动两个单词,光标在之后第二个单词的首个字母
- 2e:向后移动两个单词,光标在之后第二个单词的最后一个字母
- 撤销与回退
- u:撤销之前的命令
- U:撤销对当前行的操作【有待确认】
- CTRL+r:撤销撤销的命令
- p:粘贴到当前光标之后
- 字符的替换:
- r -->> 一个字母:替换当前光标的一个字母
- R -->> 多个字母:替换当前光标之后的字母
- 单词删除
- u -->> ce -->> 正确的字符:u定位到错误的字符,ce删除当前单词光标之后剩余的字符,重新输入
- c -->> w:删除光标后的单词剩余字母
- c —>>e:删除光标后的单词剩余字母
- c -->> $:删除光标之后的一行
- 查找操作
- /:查询语句
- / -->> n:向下查找
- / -->> N:向上查找
- /ignore:查询ignore单词
- :set ic:ic(ignore case)忽略大小写,输入n,查找下一个匹配的值
- :set noic:精确匹配大小写
- :set hls is:匹配到的单词或字母设置高亮,hls(hlsearch)
- ?:与”/“相反
- %:匹配括号,如:(,),[,],{, or }
- aaa(c1342a)asdof,当光标位于左括号"(“时,命令”%“可直接定位光标到右括号”)"
- /:查询语句
- 查找并替换
:s/old/new
:替换本行首个被匹配到的单词,old-旧单词,new-新单词:s/old/new/g
:替换本行所有被匹配到的单词- :#,#s/old/new/g:#,#表示文件中的行数范围,匹配到后进行替换
- :%s/lod/new/g:匹配文件中所有的old,之后全部替换为new
- :%s/lod/new/gc:功能与上同,会有是否执行提示
- 扩展命令
- :!command:按下后退出。如:!ls,查询当前脚本所在目录下的所有文件
- :w 不存在的文件名称:保存当前内容到指定的文件中
- 视图模式,将选中的文本复制到不存在的文件中
- “v”:进入视图模式,上下左右移动光标,选中要复制的文本
- “:”:底部出现":’<,’>"
- “w FILENAME” -->> :将选中内容复制到FILENAME文件中
- 总结:v --> : --> --> :’<,’>w fileName
- 恢复和合并文件
- :r FILENAME:将FILENAME文件中的内容复制到当前光标的下一行
- :r !ls:将【命令!ls 的返回值】复制到当前光标的下一行
- 插入操作
- “o”:在当前光标行下方插入一空行
- “O”:在当前光标行上方插入一空行
- “a”:在当前光标之后开始插入操作
- “A”:行尾插入
- “x”:删除当前光标下的字符,或连续字符
- “i”:当前光标前插入
- 光标移动
- h:光标左移;l:光标右移;j:上移;k:下移
- “e”:光标移动到下一个单词的最后一个字母
- “w”:光标移动到下一个单词的首个字母
- CTRL+g:显示当前光标位置信息
- G:光标定位到文件尾部
- gg:光标定位到文件尾部
- 行数+G:光标定位到指定行数
- CTRL+o:返回光标上次使用此命令所在
- CTRL+i:返回光标下次使用此命令所在
- 复制、粘贴行
- “v”:进入视图模式,移动光标到行尾或者使用命令"$"
- “y”:复制所选文本
- “j + $”:光标定位到下一行行尾
- “p”:粘贴所选文本
- :e fileName:e:为:edit的简写,fileName可以使用键进行补全,或者使用CTRL+D查询
- ::使用CTRL+D可以补全commond命令,注意:与commond命令之间没有空格