vi/vim使用命令总结

vi/vim的相关命令练习总结如下,常用的命令也就是复制,剪切,粘贴,撤销,重做,搜索等。本文主要是按照自己的想法,参照https://vim.rtorr.com/lang/zh_cn 文章的内容进行验证记录的,在此向此文的作者和翻译者表示感谢,其他参考的内容见参考链接,这些是高质量的文章。

编辑命令

复制
  • y:复制选定的内容。
  • yy或者Y:复制当前行。
  • y2:复制当前行以及当前行往下移动两行的内容。
  • y^:复制当前位置之前当行头的内容,不包括当前位置。
  • y$:复制当前位置到行尾的内容,包括当前位置。
  • yG:当前位置复制到文档末尾,ynG或者nyG其中n为数字表示从第n行复制到文档末尾。
  • nyy或者yny:复制n行内容,其中n为数字。
  • yw:复制单词,ynw或者nyw其中n为数字表示复制n个单词。
  • 命令行模式 :start,end copy target:复制指定范围内容的数据到指定的位置,:15,20 copy 30 把15 到20行的内容复制到30行。
剪切和删除
  • d:剪切光标指定位置d←或者d→
  • dw:剪切光标处单词(不包含标点)
  • d^:剪切当前位置到行头的内容,不包括当前位置。
  • d$:剪切当前位置到行尾的内容,包含当前位置。
  • dd:剪切当前行。
  • ndddnd:剪切n行内容,n为数字。
  • dG:剪切当前行到文档末尾的内容。
  • x:剪切当前字符。
  • s:删除当前字符, 然后进入插入模式。
  • S:清空当前行, 然后进入插入模式。
  • cc:将光标所在的行删除, 然后进入插入模式。
  • C或者c$:将光标处到行尾删除, 然后进入插入模式。
  • ciw或者caw:将光标所在的单词删除, 然后进入插入模式。
  • cw:从光标位置开始, 修改单词(即从光标位置删除到单词末尾),然后进去编辑模式。
粘贴
  • p:在光标后粘贴
  • P:在光标签粘贴
撤销和恢复
  • u:撤销编辑内容。
  • ctrl r:恢复编辑内容。
选择文本(可视化模式)
  • v:进入可视化模式, 移动光标高亮选择, 然后可以对选择的文本执行命令。
  • V:进入可视化模式(行粒度选择)。
  • Ctrl v: 进入可视化模式(矩阵选择/块选择)。
  • o:可视化模式下切换光标到选择区开头/结尾。
  • O:可视化模式下切换光标到选择区的角,效果和o类似。
  • aw:可视化模式下选择单词。
  • ab:可视化模式下选择被 () 包裹的区域(含括号)。
  • aB:选择被 {} 包裹的区域(含花括号)。
移动
  • ↑ ↓ ← →:方向键移动光标。
  • h:向左移动光标。
  • l:向右移动光标。
  • j:向下移动光标。
  • k:向上移动光标。
  • H:光标移动到页面顶部。
  • M:光标移动到页面中部。
  • L:光标移动到页面底部。
  • w:移动到下个单词开头(单词不包含标点,如hello.算作是两部分)
  • W:移动到下个单词开头(单词含标点,如hello.算作是一个整体)。
  • e:移动到下个单词结尾。
  • E:移动到下个单词结尾(单词含标点)。
  • b:移动到上个单词开头。
  • B:移动到上个单词开头(单词含标点)。
  • 0:移动到行首。
  • ^:移动到行首的非空字符。
  • $:移动到行尾的非空字符。
  • g_:移动到行内最后一个非空白符。
  • gg:移动到文件第一行。
  • G:移动到文件最后一行。
  • ngg或者nG:移动到指定行,其中n为数字,如5gg。
替换合并
  • r:替换当前字符。
  • R:进入替换模式,连续替换多个字符。
  • J:将下一行合并到当前行, 并在两部分文本之间插入一个空格。
  • gJ:将下一行合并到当前行, 两部分文本之间不含空格。
编辑插入
  • i:从光标前开始插入字符,进入插入模式。
  • I:从行首开始插入字符,进入插入模式。
  • a:从光标后开始插入字符,进入插入模式
  • A:从行尾开始插入字符,进入插入模式
  • o:在当前行之下另起一行, 开始插入字符,进入插入模式。
  • O:在当前行之上另起一行, 开始插入字符,进入插入模式。
  • ea:从当前单词末尾开始插入,进入插入模式。
  • Esc:退出编辑模式,进入命令模式。
搜索和替换
  • /pattern:命令模式下输入/以及搜索内容,向下搜索。
  • ?pattern:命令模式下输入?以及搜索内容,向上搜索。
  • n:查找下一个。
  • N:查找上一个。
  • :%s/old/new/g:全局替换匹配字符。
  • :%s/old/new:替换所有行的第一个匹配字符。
  • :s/old/new:替换当前行的第一个匹配字符。
  • :n,ms/old/new:替换指定行范围的匹配字符,其中m和n为数字。

g--全局
i--大小写不敏感
I--大小写敏感
c 大小写不敏感

保存退出
  • :w:保存。
  • :q:退出。
  • :wq或者:x或者ZZ:保存并退出。
  • :q!或者ZQ:不保存强制退出。
  • :w !sudo tee %:使用 sudo 保存当前文件。
  • :e 文件名:新建文件。
  • :w 文件名:当前文件重命名。

菜单命令

  • 设置行号:命令行模式set number

参考

1.史上最全Vim快捷键键位图
2.https://vim.rtorr.com/lang/zh_cn
3.https://github.com/dofy/learn-vim
4.https://vim.wxnacy.com/
5.http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

posted @ 2020-02-06 17:32  ZiYangZhou  阅读(293)  评论(0编辑  收藏  举报