Vim常用命令及配置方案

很久之前就接触到vim,初学那阵觉得vim很酷炫,但确实对新手不是很友好。我也就简单看了下基本操作就上手了,但又不是长期在vim下工作,这就导致了每一次重新使用vim都要再去回温下基本操作,很是难受,所以就趁这个机会把基本操作都记录下来,一来可以当做自己的笔记,二来希望可以帮到同样和我一样用过vim但却忘得差不多的人。另外,这里也记录一下自己的vim配置,这个配置可能并没有其他网友分享的那么强大,但至少足够简单,能够提高自己编码的效率。

vim常用命令

首先先简单梳理一下vim的工作模式。vim有三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)

Vim常用命令及配置方案

简单来讲就是,当我们刚打开vim,或者使用vim打开了一个文件,终端上显示着文件的内容,这时候就是命令模式(如上图就是刚打开一个文件的情况,此时光标位于第一行行首处),在现在的情况下,键盘输入小写的i a o 或者大写I A O中的其中一个,就可以进入输入模式,各个按键的具体意义如下:

按键具体意义
i   从目前光标所在处输入  
I   在目前所在行的第一个非空格符处开始输入  
a   从目前光标所在的下一个字符处开始输入  
A   从光标所在行的最后一个字符处开始输入  
o   在目前光标所在的下一行处输入新的一行  
O   在目前光标所在的上一行处输入新的一行  
r   继续输入一个字符以取代光标所在处后面单个字符,而后返回命令模式  
R   新输入的字符会一直取代光标所在处后面的字符  

当我们使用上述按键进入输入模式,配合方向键编辑好文件内容后,使用ESC键可退出输入模式,回到命令模式,vim的大部分命令都是在命令模式下使用。
命令模式下的按键十分丰富,主要的操作为光标移动、复制粘贴、搜索替换
光标移动的基本按键如下:

按键具体意义
h 或 向左箭头键(←)   光标向左移动一个字符  
j 或 向下箭头键(↓)   光标向下移动一行  
k 或 向上箭头键(↑)   光标向上移动一行  
l 或 向右箭头键(→)   光标向右移动一个字符  

在上面的基础上,如果你想光标的位置一次移动多行或者在同一行上移动多个字符,可以有以下几种方法:

直接输入数字并在其后输入相应的方向,例如输入20j或20↓表示光标向下移动20行,输入20l或20→表示光标向右移动20个字符。

输入数字后加空格可以使光标向右移动n个字符,例如20[space]即和上面第一条的20l或20→达到相同的效果,为了简单一点,我个人认为如果不是vim深度用户的话,我们可以直接放弃记忆这个命令。同样性质的命令还有20[enter],表示光标向下移动20行

ctrl+f/b/d/u可以用来上下翻页,但是对大部分人来说没有必要去记这个繁琐的命令,我个人更加推荐使用键盘上的Page Up和Page Down来上下翻页

0和$可以用来移动光标到行首或行尾,同样,我还是认为没必要去记忆这个命令,而是直接使用Home和End来达到同样的效果

另外,还有一些很方便的操作值得单独拎出来进一下:

按键(区分大小写)具体意义
H(High)   光标移动到这个屏幕的最上方那一行的第一个字符  
M(Middle)   光标移动到这个屏幕的中央那一行的第一个字符  
L(Low)   光标移动到这个屏幕的最下方那一行的第一个字符  
G   移动到这个文件的最后一行(常用)  
gg   移动到这个文件的第一行(常用)  
nG   移动到这个文件的第n行  

复制粘贴的操作比较繁杂,但也并不是没有规律可循,具体如下:

按键具体意义
x或[delete]   删除光标后面的单个字符,  
X或[backspace]   删除光标前面的单个字符  
nx   连续向后删除 n 个字符。同理,可以有大写的nX  
dd   删除光标所在的一整行  
ndd   删除光标向下的n行(包括光标那一行)  
d+某个位置   删除光标处到那个位置的所有内容。例如d1G删除从光标到第一行的所有内容,dG删除从光标到最后一行的所有内容,d$或d[End]删除从光标处到行尾的所有字符。以此类推  
yy   复制光标所在的那一行(常用)  
nyy   复制光标向下的n行(包括光标那一行)  
y+某个位置   复制选取的范围,选取范围如前面d+某个位置所示  
p   将已复制的内容在下一行粘贴  
P   将已复制的内容在上一行粘贴  
J   将光标所在行与下一行的数据结合成同一行,即在删除该行和下一行之间的换行符。  
u   复原前一个动作(常用)  
[ctrl]+r   重做上一个动作(常用)  
.(小数点)   重复前一个动作(常用)  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12711.html