本文出处转载自https://shenyifengtk.github.io请说明出处我用vim有一段时间了都不知道,也算是真正的高手了使用技能。我不记得当初为什么要学这个编辑器,也不记得是怎么学会用它来编辑文件的。我只记得我没有在按下所有键盘键后退出vim。一粒种子要经过多少风雨才能长成参天大树,一条溪流要经过多少山川才能汇入大海。我们通常会学到一件事,我们要经历多少困难和挫折,只有我们自己最清楚。普通编辑器在vim模式下可以直接打开文件进行编辑、保存、使用快捷键等,vim也有这些功能,但有些功能只能在特定模式下使用。也正是因为这些模式,vim的学习路线变得特别陡峭。vim有多种模式,每种模式都有特定的功能。有时当您需要某些功能时,需要切换到指定的模式进行操作。使用键盘可以随意切换模式,使vim不依赖鼠标操作,使用最小化组合键的操作大大提高了编辑效率。普通模式使用vim打开文件,进入普通模式,这也是vim默认的模式。在此模式下,您可以移动光标、复制、剪切、粘贴和删除文件。在这种模式下,输入键都是命令快捷键。比如要进行复制操作,yy复制当前行,p粘贴到光标下,dw删除一个词。使用a切换到插入模式,其他快捷键也可以,:切换到命令模式,Ctrl+v进入选择模式。--insert--显示在插入模式的左下角,表示vim处于插入模式。此模式读取键盘输入并将其显示在屏幕上,大多数编辑器以插入模式打开。Esc可以重新进入普通模式,但输入的字符不会保存到文件中。可视模式该模式的主要功能是使用移动命令扩大高亮文本区域。输入命令将直接作用于选定的文本区域。这相当于用鼠标选中一个文本区域,可以用命令进行复制、剪切、修改等操作,但是vim不需要鼠标。选择模式该模式只能在可视模式下进入,可以直接使用退格键或空格键删除选中的文本区域,或者直接输入新的文本替换选中的高亮区域进入插入模式。在命令模式下,输入:在普通模式下,解析成命令模式,后面跟着命令,回车直接执行命令。比如上图中,按回车:q直接退出vim编辑器。一般退出vim需要在命令模式下输入:wq,一直退出。ex模式在普通模式下使用Q命令进入ex模式,与命令行模式类似。在使用":visual"命令退出Ex模式之前,你可以一次执行多个命令。这个命令我自己很少用,google了一下才知道的。平时使用vim主要是在普通模式、插入模式、可视模式、命令模式下运行。掌握了这些之后,你就可以熟练使用vim了。vim命令快捷键全局移动h左移←j下移↓k上移↑l右移→掌握这些快捷键,移动光标时,手机基本不会离开核心键盘区域,有没有像w,a,s,d移动一个角色是什么感觉?gg快速移动到开头G快速移动到文本结尾Ctrl-f向下翻页,即PageDown翻页Ctrl-b向上翻页,即PageUp命令模式:n移动指定行数moveworWwithintheline移动到下一个单词(单词)borB移动到上一个单词e移动到下一个单词的末尾^移动到当前行的第一个非空白字符0移动到行首oftheline$移动到行尾f{char}向前查找行中的char字符,光标移动到目标charF{char}在行中反向查找char字符,光标移动到目标字符;在行中向前重复查找char字符,同上,查找行中的前一个char字符,反向查找,同上进入插入模式。如果要写入文本内容,也必须在插入模式下操作。以下命令从普通模式i进入插入模式进入插入模式,在当前光标下输入o在当前光标下新建一个空行并插入字符a在光标的背景插入字符(追加)A在行尾插入,a$=>AI在行首插入,i^=>IO用于在光标上方新建一个空行,插入s删除当前光标字符,回车插入模式deleted删除字符(delete),d本身没有任何意义,但是可以结合其他命令完成一些快捷的操作。x删除当前字符dd删除当前行dw从光标删除整个单词(deleteword)db从光标向前删除一个字符,向后移动删除,如果dbx反向删除整个单词d$从当前位置到行尾d^反向删除到行首nddn表示删除行数,2dd删除两行ddn同上理解vim操作Vim的强大很大程度上来自于运算符的组合和动作指令。在本节中,我们将了解它的工作原理并考虑其含义——vim实用技巧第2版
