盒子
盒子
文章目录
  1. 光标移动
  2. 编辑文本
  3. 基本操作
  4. vimium
  5. 移动
  6. 标签操作
  7. 其他操作

善其器之Vim

Vim是一个非常强大的文本编辑器。基本上所有的类Unix系统都会内置vi编辑器,Vim就是从vi发展来的一个编辑器。

使用vim编程基本可以脱离鼠标,在服务器编程将会更加舒服,同时具有高逼格,成为别人眼中的“电影里的程序员”。

vim有很多快捷键,可以使用默认配置,也可以在.vimrc文件中自定义配置。

vim快捷键分布

我是在VScode中使用vim插件,结合两者的优点。当然快捷键也会有冲突的,可以在设置中解决冲突,如果不常用的快捷键也可以置之不顾。

vim有三种模式,分别为:normalinsertvisual

从normal模式转到insert有多种方式:

  • i/I:在光标之前插入/在行首插入。
  • a/A:在光标之后插入/在行尾插入。
  • o/O:在下一行/上一行插入。
  • s/S:删除当前字符/当前行并插入。

根据具体的情况使用不用的快捷键,但一般使用较多的为i、a、o、O

从insert返回到normal模式就只有两种方式了:一种为Esc,另一种为<C-[>(即Ctrl+[,下文的<C->均为Ctrl +)。

光标移动

光标移动是很重要的,基本代替鼠标的操作。之后的修改删除等操作,也要先移动到该位置才能再操作,所以移动是一切的基础。

  • 上下左右(k、j、h、l):向上下移动一行,或左右移动一个字符。除此之外,vim的一个重要思想就是数字与操作结合。例如下移10行使用10j,右移10个字符使用10l。同时vscode编辑器会在最下方显示目前的行列信息。
  • 单词移动(b、B、w、W):b/w为向后/前移动一个单词,B/W向后/前移动一个大单词。(如hello-world,是大单词’hello-world’,由三个单词’hello’、’-‘、’world’三个单词组成)
  • 字符移动(f、F、t、T):f/F向后/前查找一个字符,如fa查找下一个a字符。t向后查找一个字符,并移动到该字符的前一个字符;T向前查找一个字符,并移动到该字符的后一个字符。如abcdefg中,tg命令会将光标移动到f处,Ta命令会将光标移动到b处。
  • 行首尾移动(0、$):0移动到行首,$移动到行尾。
  • 首尾行移动(gg、G):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模式。
  • yyank,复制,将上述操作中的d更换为y后,表示复制内容
  • 使用r加特定字符,代替原来光标位置的字符。如a使用rb后,文本变为b
  • 在Insert模式下删除,ctrl+h可以向前删除一个字符,ctrl+w可以向前删除一个单词。
  • 如果删除错误,可以使用u进行撤销操作。在vscode中无论是Normal模式还是Insert模式都可以使用<C-z>进行撤销。

基本操作

基本操作包括:查找、替换、撤销、重做、复制、粘贴、保存等。

  • 查找使用/后加需要查找需要词或表达式,如/const查找const单词,n查找下一个,N查找上一个。
  • 替换使用:s/aa/bb/g,将aa替换成bbg代表全局替换。
  • 撤销使用u,可以与数字结合进行多次撤销操作。
  • 重做使用<C-r>
  • 复制使用yy复制整行,也可以使用yi'复制引号中的内容等。
  • 粘贴使用p
  • "*y复制内容到系统剪切板。
  • "*p粘贴系统剪切板中的内容。
  • 使用:reg列出寄存器列表。

vimium

vimium是Chrome浏览器的一个插件,可以使用vim命令操作网页。最主要的还是有逼格。

在Chrome网上应用商店下载该插件,启用之后,即可使用vim的命令操作网页。

移动

移动与在编辑器中的移动有很大的相似,有部分简化,部分删除。

在编辑器中<C-u>上移半页,在网页中,只需要u就可以上移半页,d为下移半页。

移动特定行之类的在网页中,不存在此类操作。

其他移动操作一致,如10jgg等。

标签操作

针对标签页的操作。

  • 使用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搜索当前浏览器打开的所有标签,相当于标签页的切换。
欢迎关注公众号
扫码关注我的微信公众号-大前端合集
  • 微信公众号-大前端合集