Vim是一个非常强大的文本编辑器。基本上所有的类Unix系统都会内置vi编辑器,Vim就是从vi发展来的一个编辑器。
使用vim编程基本可以脱离鼠标,在服务器编程将会更加舒服,同时具有高逼格,成为别人眼中的“电影里的程序员”。
vim有很多快捷键,可以使用默认配置,也可以在.vimrc文件中自定义配置。

我是在VScode中使用vim插件,结合两者的优点。当然快捷键也会有冲突的,可以在设置中解决冲突,如果不常用的快捷键也可以置之不顾。
vim有三种模式,分别为:normal、insert、visual。
从normal模式转到insert有多种方式:
i/I:在光标之前插入/在行首插入。a/A:在光标之后插入/在行尾插入。o/O:在下一行/上一行插入。s/S:删除当前字符/当前行并插入。根据具体的情况使用不用的快捷键,但一般使用较多的为i、a、o、O。
从insert返回到normal模式就只有两种方式了:一种为Esc,另一种为<C-[>(即Ctrl+[,下文的<C->均为Ctrl +)。
光标移动是很重要的,基本代替鼠标的操作。之后的修改删除等操作,也要先移动到该位置才能再操作,所以移动是一切的基础。
10j,右移10个字符使用10l。同时vscode编辑器会在最下方显示目前的行列信息。b/w为向后/前移动一个单词,B/W向后/前移动一个大单词。(如hello-world,是大单词‘hello-world‘,由三个单词‘hello‘、‘-‘、‘world‘三个单词组成)f/F向后/前查找一个字符,如fa查找下一个a字符。t向后查找一个字符,并移动到该字符的前一个字符;T向前查找一个字符,并移动到该字符的后一个字符。如abcdefg中,tg命令会将光标移动到f处,Ta命令会将光标移动到b处。0、$):0移动到行首,$移动到行尾。gg移动到文件的首行,G移动到文件的尾行。<C-d>/<C-u>向上/下移动半页,使用<C-f>/<C-b>向上/下移动一页。:n移动到第n行。如:10快速移动到第10行。zz将光标移动到屏幕中间,zb将光标移动到屏幕底部,zt将光标移动到屏幕顶部。*/#定位当前光标下的单词,并指向下/上一个。gd定位到当前变量的声明位置。%快速定位到配对字符,如括号的另一半。<C-o>回到光标上一次的位置。d指delete,是所有修改操作的基础。
dl代表删除右边的一个字符,dh为删除左边的一个字符。x相当于dl,删除当前光标下的字符。daw表示delete a word,删除当前光标下的单词,使用dw/db从当前位置删除到后一个/前一个单词。di(表示delete in (但是不会删除括号,使用da(会删除括号及括号内的文本。同理,di{删除花括号等等。D表示删除本行内目前光标下后的文本。dd删除整行文本。c类似于d,指change。将上述操作中的d更换为c后,表示,删除之后进入Insert模式。y指yank,复制,将上述操作中的d更换为y后,表示复制内容r加特定字符,代替原来光标位置的字符。如a使用rb后,文本变为b。ctrl+h可以向前删除一个字符,ctrl+w可以向前删除一个单词。u进行撤销操作。在vscode中无论是Normal模式还是Insert模式都可以使用<C-z>进行撤销。基本操作包括:查找、替换、撤销、重做、复制、粘贴、保存等。
/后加需要查找需要词或表达式,如/const查找const单词,n查找下一个,N查找上一个。:s/aa/bb/g,将aa替换成bb,g代表全局替换。u,可以与数字结合进行多次撤销操作。<C-r>。yy复制整行,也可以使用yi‘复制引号中的内容等。p。"*y复制内容到系统剪切板。"*p粘贴系统剪切板中的内容。:reg列出寄存器列表。vimium是Chrome浏览器的一个插件,可以使用vim命令操作网页。最主要的还是有逼格。
在Chrome网上应用商店下载该插件,启用之后,即可使用vim的命令操作网页。
移动与在编辑器中的移动有很大的相似,有部分简化,部分删除。
在编辑器中<C-u>上移半页,在网页中,只需要u就可以上移半页,d为下移半页。
移动特定行之类的在网页中,不存在此类操作。
其他移动操作一致,如10j、gg等。
针对标签页的操作。
yy复制当前页的url地址,yt复制当前页面的url并在新标签页打开。p在当前标签页打开剪切板中的url链接,使用P在新标签页打开剪切板中的url链接。t新建一个标签。J/K切换到前/后一个标签页。^切换到上一个历史标签页。g0切换到第一个标签页,g$切换到最后一个标签页。x关闭当前标签页,相当于<C-w>,使用X恢复关闭的标签页,相当于Ctrl+shift+t。<<将当前标签页左移,使用>>将当前标签页右移。L向前寻找历史记录,使用H向后寻找历史记录。包括页面的跳转,页面的点击等操作。
输入:使用gi定焦到第一个可输入文本位置。
元素定位器:使用f打开元素定位器,当前页面打开,使用F在新标签页打开。
刷新页面:使用r刷新页面。
gf选择下一个frame。
在当前页面查找内容,使用/后接需要搜索的内容,类似于Chrome的<C-f>快捷键。使用n定位到下一个,使用N定位到上一个。
搜索框。
o从url、书签、历史记录中搜索地址,tab键选择,回车在当前页面打开。使用O在新标签页打开。b仅从书签搜索地址,在当前页面打开,使用B从新标签页打开。T搜索当前浏览器打开的所有标签,相当于标签页的切换。原文:https://www.cnblogs.com/bzsheng/p/13783316.html