vim 也能把代码写飞(1)

150 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情

使用 vim 大家开始可能会觉得比较烦,越是急越容易按错按键,从而也就是放弃了 vim 又去投入像 vscode 这样轻快熟悉 IDE,其实开始可以静下心来,将 vim 想象为一个帮手,一遍交流一遍 coding,我们总是要花一些时间熟悉他,了解他,因为他不是 IDE,他是一个可以交流的朋友。

导航

我们知道 vim 移动光标有两套按键组合,分别是方向键和 h、j、k 和 h 组合

接下来聊一聊快速定位到行首或者行尾的几种方式

在 normal mode 模式下

  • 按下 99 然后按字母 l 就可以快速定位到行尾
  • 对应第按下 99 然后再去按字母 h 就可以快速定位到行首
  • 也可以通过 $ 和 0 键在行尾和行首来切换
  • home 和 end 无论是在 normal mode 和 insert mode 都是有效,home 将光标移动到行首,而 end 则将光标移动到行尾,再补充一点就是 ctrl + home 可以快速移动到文件开头,而 ctrl + end 则将光标移动文件的末尾

退出文件几种方式

  • :q 对文件没有进行任何修改时,可以通过 :q 来退出文件
  • :q! 当对于文件进行修改了,但还不想保存修改内容可以使用 :q! 来退出文件,并且不会保存此次修改内容
  • :wq 想要保存修改内容,然后再退出文件,就可以用 :wq

这里再介绍两种大家可能不了解快捷退出方式,希望对大家有所帮助

  • :x 效果:wq 一样保存后再去退出
  • ZZ 也是一种保存后退出快捷方式

复制和粘贴

这是一套组合动作,首先将光标移动要 copy 的行,然后连续按下 yy 接下来将光标移动某一行,接下来如果 p 则是将刚刚复制好行粘贴到当前位置下方,如果按下 P 也就是大写 p 则是粘贴到行上方,这种大小写区分行为时 vim 很多操作的一般规则,例如插入

剪切和粘贴

这是一套组合动作,首先将光标移动要剪切的行,然后连续按下 dd 这样会删除当前行,同时将当前行放入缓存,接下来将光标移动某一行,接下来如果 p 则是将刚刚复制好行粘贴到当前位置下方,如果按下 P 也就是大写 p 则是粘贴到行上方

复制

设置行号显示为相对鼠标位置的相对数

关于如何设置显示行号,这个大家都比较熟悉了吧,不过通常我们要复制多行,使用数字(要复制的行数)在去按下大写 Y 来实现,这样操作,对于要复制内容行数不多情况通过肉眼观察还可以,不多再多点就得上手去数,显然这样做并不恰当,所以这是可以用:set relativenumber 来设置行号显示为相对鼠标位置的相对数,如果想要关闭可以输入:set norelativenumber来关闭显示相对行数,也可以缩写为 :set rnu:set nornu来开启和关闭相对行数显示。