bingmous

欢迎交流,不吝赐教~

导航

Vim常用操作

基本概念

vim有三种工作模式:

  • 一般模式:vim file之后就进入了一般模式
  • 编辑模式:一般模式下按i、a、o等,按Esc返回一般模式
    • 修改文件的某一部分内容
    • i在光标当前位置插入,Shift + i在当前光标所在行的开头插入
    • a在当前光标的后一个位置插入,Shift + a在当前光标所在行的结尾插入
    • o在光标下一行插入,Shift + o在光标的上一行插入
  • 命令行模式:一般模式下按/?进入,按Esc返回一般模式
    • 对整体文档进行的操作
  • vim是vi的升级版本,完全兼容vi,有语法高亮,
    • vim可以使用Ctrl + Shift + v进入可视模式进行操作,vi没有
    • vim在一般模式下复制的东西,可以在别的地方通过vim粘贴,vi不行

编辑

  • dd:删除当前行,ndd删除n行,d$删除当前光标至行尾(或使用Shift + d),d^删除当前光标至行首
  • dw:删除当前单词,ndw删除当前n个单词,从当前光标开始
  • yy:复制当前行,nyy复制n行,y$复制当前光标至末尾,y^复制当前光标至行首
  • yw:复制当前单词,nyw复制当前n个单词,当前使用vim复制的东西可以在vim另外一个文件时粘贴,vi就不行
  • cc:删除当前行,并插入,Shift + c删除至行末并插入
  • x:剪切当前字符,光标位置不动(类似window的delete键),Shift + x删除当前字符,光标左移(类似window的backspace键),可以使用p粘贴字符,粘贴位置为当前光标所在字符的后一个位置开始。
  • r:替换当前字符,Shift + r进入替换模式,后续写的内容都会对当前内容进行替换
  • p:粘贴
  • u:撤回
  • Ctrl + r重做
  • 竖行操作
    • Ctrl + Shift + v进入可视模式,再次按取消可视模式
    • down到结束行
    • Shift + i在光标前插入,Shift + a在光标后插入,r替换
    • 输入,按Esc
    • 可结合:set nu行号 + Shift + g移动光标进行任意选择行,Shift + g直到文件末尾

浏览

  • 0:移动到行首(或^
  • $:移动到行尾
  • w:向后移动到词首,b向前移动到词首,Shift + w跳过特殊字符向后移动到词首
  • e:向后移动到词尾,可以使用Ctrl + left/right按单词左右快速移动(与window上类似)
  • gg:移动到文件开头
  • Shift + g:移动到文件末尾,n + Shift + g移动到当前文件的第几行(可以使用:set nu显示行号直接跳转到想要的行号)
  • Shift + 0移动到段落末尾
  • Shift + h/l:移动到当前页的第一行(最后一行),h指head,l指last
  • Ctrl + f/b:向下(上)翻页,f指forward,b指back,或Shift + up/down
  • Ctrl + e:向下(上)滚动
  • Ctrl + g:显示文件名,总行数,光标所在位置之前内容占比,光标位置,顶行之前内容占比

命令行模式

  • *:搜索当前单词,n显示下一个,Shift + n显示上一个
  • #:反向搜索当前单词,n显示下一个,Shift + n显示上一个
  • :w:保存,w表示write,:w a.txt另存为一个文件,:w n1,n2 w 1.txtn1到n2行另存为一个文件,使用r表示追加
  • :q:退出,q表示quit,:q!不保存退出,或者Shift + zq
  • :wq:保存退出,:wq!强制保存退出,:xShift + zz
  • :set nu:显示行号,:set nonu取消显示行号
  • /xxx:搜索xxx,n显示下一个,Shift + n显示上一个,这时是高亮显示的,:noh不高亮显示了
  • ?xxx:反向搜索xxx,n显示下一个,Shift + n显示上一个
  • :s/old/new:替换当前行找到的第一个匹配的字符串
  • :s/old/new/g:替换当前行所有匹配的字符串,g表示当前行的global
  • :%s/old/new:替换所有行的第一个的字符串
  • :%s/old/new/g:替换文件所有匹配字符串
  • set paste,然后粘贴内容,set nopaste,就不会自动缩进了

总结

常用:

  • ddndddwndwyynyyywnywp,n放在中间也可以,删除、复制、粘贴
  • Ctrl + f/b,上下翻页
  • Ctrl + e/y,上下滚动
  • Ctrl + left/right,左右移动光标,按单词左右移动词首位置跳过特殊字符,w移动到词首,e移动到词尾,b向左移动光标到词首,^移动光标到行首,$移动光标到行尾
  • ccShift + c删除光标至行尾并插入
  • gg,移动到首行,Shift + g移动到尾行,n + Shift + g移动到指定行,:set nu显示行号
  • Shift + i在行首插入,Shift + a在行尾插入,Shift + o在上一行插入
  • x,剪切选中区域(默认是当前字符),可以使用Ctrl + Shift + v选中
  • 使用Ctrl + Shift + v选中后,按d删除,按y复制,按x剪切

image

posted on 2022-09-24 21:40  Bingmous  阅读(856)  评论(0编辑  收藏  举报