高坚守编辑器 VIM-垄断篇(1)

 Toy Posted in Featured Post, Text Editor, Tutorials

固然从好久前就末尾用 VIM 了,但不停都是半吊子,翻来覆去只用本身会的命令。最近为了行进书写代码的坚守,另有 coding 时分的快乐喜好,又从新钻研了一下 VIM,发明晰一篇很好的 VIM 入门的文章,原文是英文版的,我觉得非常恰当 VIM 哄骗入门,所以翻译了过去。这里是简略的引见了 VIM 的垄断要领,并没有说为什么要用 VIM,要是你想晓得谜底可以去 Google,VIM 被誉为编辑器之神。

这篇教程写了在分比喻任务形式下哄骗 VIM 的一些根底子事——即拔出形式(insert mode), 命令形式(command mode), 存取文件等。目标是帮手刚刚交兵 VIM 的老手愈加有效率的哄骗这个精美的编辑器。

声明:在这篇文章内里,<C-X> 代表 Ctrl X——便是按住 Ctrl 键然后再按 X。并且你可以在很多情况下哄骗 :help command 来获得除夜部门命令的帮手,这个是 VIM 的内部帮手文件命令。

高坚守移动

在拔出形式之外

基本下去说,你应该尽可以或许少的呆在拔出形式内里,由于在拔出形式内里 VIM 就像一个“哑巴”编辑器一样。很多老手都市不停呆在拔出形式内里,由于如许易于哄骗。但 VIM 的弱小年夜之处在于他的命令行形式!你会发明,在你越来越领会 VIM 之后,你就会花越来越少的时辰哄骗拔出形式了。

哄骗 h、j、k、l

哄骗 VIM 高坚守编辑的第一步,便是抛却哄骗箭头键。哄骗 VIM,你就不必频仍的在箭头键和字母键之间移来移去了,这会撙节你很多时辰。当你在命令形式时,你可以用 h、j、k、l 来别离完成左、下、上、右箭头的成效。一末尾可以或许需求适应一下,但一旦习气这种要领,你就会发明如许垄断的高效之处了。

在你编辑你的电子邮件大概其他有段落的文本时,你可以或许会发明哄骗偏向键和你预期的效果纷比喻样,有时辰可以或许会一次跳过了很多行。这是由于你的段落在 VIM 看来是一个除夜的长长的行。这时你可以在按 h、j、k 大概 l 之前键入一个 g,如许 VIM 就会按屏幕上面的行如你所愿的移动了。

在当前行内里有效的移动光标

很多编辑器只提供了简略的命令来节制光标的移动(好比左、上、右、下、到行首/尾等)。VIM 则提供了很多弱小年夜的命令来舒服你节制光标的愿望。当光标从一点移动到别的一点,在这两点之间的文本(包括这两个点)称作被“跨过”,这里的命令也被称作是 motion。(简略声明一下,背面会用到这个严重的概念)

这里是常用到的一些命令(motion):

  • fx:移动光标到当前行的下一个 x 处。很清楚,x 可所以随意率性一个字母,并且你可以哄骗 ; 来反复你的上一个 f 命令。
  • tx:和上面的命令雷同,但是是移动到 x 的右边一个职位地方。(这真的很有效)
  • Fx:和 fx 雷同,不过是往回找。
  • w:光标往前移动一个词。
  • b:光标今后移动一个词。
  • 0:移动光标到当前行首。
  • ^:移动光标到当前行的第一个字母职位地方。
  • $:移动光标到行尾。
  • ):移动光标到下一个句子。
  • ( :移动光标到上一个句子。

在整个文件内里有效移动光标

VIM 有很多命令,可以用来抵达文件内里你想抵达的中间。上面是一些在文件内里移动的命令:

  • <C-F>:向下移动一屏。
  • <C-B>:向上移动一屏。
  • G:到文件尾
  • numG:移动光标到指定的行(num)。(好比 10G 便是到第 10 行)
  • gg:到文件首
  • H:移动光标到屏幕上面
  • M:移动光标到屏幕两端
  • L:移动光标到屏幕上面
  • *:读取光标处的字符串,并且移动光标到它再次出现的中间。
  • #:和上面的雷同,但是是往反偏向寻觅。
  • /text:从当前光标处末尾搜刮字符串 text,并且抵达 text 出现的中间。必需哄骗回车来末尾这个搜刮命令。要是想反复上次的搜刮的话,按 n。
  • ?text:和上面雷同,但是是反偏向。
  • ma:在当前光标的职位地方标记一个书签,名字为 a。书署名只能是小写字母。你看不见书签的存在,但它的确已经在哪里了。
  • `a:到书签 a 处。细致这个不是单引号,它一样往常位于除夜部门键盘的 1 的右边。
  • `.:到你上次编辑文件的中间。这个命令很有效,并且你不必本身去标记它。

高效的输入

哄骗要害词自动完成

VIM 有一个非常美丽的要害词自动完成琐屑。这示意,你可以输入一个长词的一部门,然后按一下某个键,然后 VIM 就替你完成了这个长词的输入了。举个例子:你有一个变量名为 iAmALongAndAwkwardVarName 在你写的代码的某其中间。大概你不想每回都本身一个一个字母的去输入它。

哄骗要害词自动完成功效,你只需求输入末尾几个字母(好比 iAmAL),然后按 <C-N>(按住 Ctrl,再按 N)大概 <C-P>。要是 VIM 没有给出你想要的词,承继按,直到你舒服为止,VIM 会不停循环它找到的受室的字符串。

伶俐的进入拔出形式

很多老手进入拔出形式都只是用 i。如许固然可以进入拔出形式,但素日不是那么适宜,由于 VIM 提供了很多进入拔出形式的命令。上面是最常用的一些:

  • i:在当前字符的右边拔出
  • I:在当前行首拔出
  • a:在当前字符的右边拔出
  • A:在当前行尾拔出
  • o:在当前行上面拔出一个新行
  • O:在当前行上面拔出一个新行
  • c{motion}:删除 motion 命令跨过的字符,并且进入拔出形式。好比:c$,这将会删除从光标职位地方到行尾的字符并且进入拔出形式。ct!,这会删除从光标职位地方到下一个叹号(但不包括),然掉队入拔出形式。被删除的字符被存在了剪贴板内里,并且可以再粘贴出来。
  • d{motion}:和上面差未几,但是不进入拔出形式。





版权声明: 原创作品,承诺转载,转载时请务必以超链接体式格局标明文章 原始情由 、作者信息和本声明。不然将追查功令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1973790.html