vim常用命令

三模式

  1. 命令模式 (command mode) -> 默认模式
  2. 插入模式 (insert mode)-> i 进入
  3. 底行模式 (last line mode) -> 输入 :

常用命令

光标移动
  1. 使用上下左右方向键
  2. 命令模式下:h向左、j向下 、k向上、l向右。
插入文本或行

vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式

  1. a -> append ->在当前光标位置的右边添加文本,比如字符串为test,光标框住的s,即输入aa,则变为tesat
  2. i -> insert model ->在当前光标位置的左边添加文本,比如字符串为test,光标框住的i,即输入ia,则变为teast
  3. A ->Append at eol ->在当前行的末尾位置添加文本,比如字符串为test,光标框住的i,即输入Aa,则变为testa
  4. I -> Insert at bol ->在当前行的开头位置添加文本,比如字符串为test,光标框住的i,即输入Ia,则变为atest
  5. O -> Open above ->在当前行的上面新建一行,光标移动到新建行行首
  6. o -> open below ->在当前行的下面新建一行,光标移动到新建行行首
  7. R -> replace mode->替换(覆盖)当前光标位置及后面的若干文本,输入一个字符,则替换当前框住的字符,并跳到下一个字符。
  8. J -> join lines-> 合并光标所在行及下一行为一行,和光标位置无关,第一行test,第二行abc,使用J后后并为test abc一行
视觉模式
  1. v ->选中一个或多个字符,可使用其他辅助方向键调整
  2. V ->选中一行,可使用其他辅助方向键调整
删除、恢复字符或行
  1. x -> delete char ->删除当前字符,X是反向向前移动 .
  2. nx -> 删除从光标开始的n个字符,比如test,执行2x,则变为tt.
  3. dd -> 删除当前行
  4. ndd -> 向下删除当前行在内的n行
  5. u ->撤销上一步操作
  6. df指定字符a -> 从光标处删除至指定字符a
  7. di” -> 删除”“双引号内内容
  8. da” ->删除”“双引号内内容以及引号自身
搜索
  1. 命令模式下输入/test向下搜索含有test字符串,?test向上搜索含有test的字符串
  2. n->向下搜索前一个搜素动作
  3. N->向上搜索前一个搜索动作
跳至指定位置
  1. gg -> 跳至整篇开头位置,光标转移到当前行第一个字符
  2. G->跳至整篇结束行,光标转移到当前行第一个字符
  3. nG->跳到行号为n的行,光标转移到当前行第一个字符
  4. n+ -> 向下跳n行,光标转移到当前行第一个字符
  5. n- ->向上跳n行,光标转移到当前行第一个字符
  6. ^ -> 一行的开始
  7. $-> 一行的结尾
  8. w -> 以空格和符号作为分割正向跳转(反向b),“hello vim,I’m wrting”,当光标在h时,连按w光标依次显示为:v > , > I > ’ > m > w > “
  9. W -> 以空格为分割,正向跳转(反向B),“hello vim,I’m wrting”,当光标在h时,连按大写的W光标依次显示为:v > I > w
  10. f+字符x -> 正向跳转至下一个字符x,F是反向.
  11. ctrl+o(old)-> 光标向前一个光标跳
  12. ctrl+i-> 光标向后一个光标跳
复制、粘贴
  1. yy -> 复制当前行,也可以使用ayy,a为字母,非数字
  2. nyy->将当前行向下n行复制到缓冲区,也可以用 “anyy 复制,”a 为缓冲区,a为字母,非数字。,可以完成多个复制任务。
  3. yw -> 复制从光标开始词尾的字符。
  4. nyw ->复制从光标开始的n个单位,比如一个单子,一个逗号都算一个。
  5. v2w->使用v来进行选中,w指为word,2就是2个,再使用y复制选中内容,用方向键也可以。
  6. p -> 粘贴复制的内容,也可以使用ap,粘贴后的行处于当前行的下一行,会自动创建一个行。a为字母,非数字。P是在光标前,p是在光标后。
  7. np-> 粘贴n次
替换命令
  1. :s/golang/golang2->用golang2替换行中首次出现的golang2
  2. :s/golang/golang2/g ->用golang2替换行中所有的golang
  3. :n,m s/golang/golang2/g ->用golang2替换从n到m行里所有的golang
  4. :%s/golang/golang2/g ->用golang2替换当前文件里所有的golang

参考

  1. https://www.vpser.net/manage/vi.html
  2. https://segmentfault.com/a/1190000009064004
  3. http://www.cnblogs.com/zhaozihan/p/6297217.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值