人生苦短,何不用Vim装13

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搜索当前浏览器打开的所有标签,相当于标签页的切换。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345