Vim 学习记录
Vim的三种主要模式 :
普通模式
在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。
在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(追加)键或者i(插入)键。
插入模式(i)
在这个模式中,大多数按键都会向文本缓冲区中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这个模式。
在插入模式中,可以按ESC键回到普通模式!!!!!!
可视模式(v)
这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的"文本对象"也能和移动命令一样用在这个模式中。
选择模式
这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。
命令行模式( :)
在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。
快捷操作 //不同版本内操作会有所不同
字符级移动
在普通模式下,可以使用方向键或者h,j,k,l进行移动,如下表:
按键 |
方向 |
h,← |
左 |
l,→ |
有 |
j,↓ |
下 |
k,↑ |
上 |
行内移动
在行内以移动游标时,可以使用下面的命令来实现:
按键 |
说明 |
w |
右移到下一个单词的开头 |
e |
右移到下一个单词的末尾 |
b |
左移到前一个单词的开头 |
0 |
右移到本行的开始 |
$ |
右移到本行的末尾 |
^ |
左移到本行的第一个非空字符 |
页级移动
可以在相邻页之间移动:
按键 |
说明 |
crtl+f |
前移一页 |
crtl+b |
后移一页 |
页内移动
当我们到达指定页时,可以在页内快速移动:
按键 |
说明 |
H |
将光标移到该页的起始行 |
M |
将光标移到该页的中间行 |
L |
将光标移到该页的末尾行 |
其他移动
Vim提供了很多的移动方式,这里再列举一些大范围移动:
按键 |
说明 |
* |
将光标移到该单词的下一个位置 |
# |
将光标移到该单词的上一个位置 |
g |
将光标移到文件的第一行 |
G |
将光标移到文件的末尾行 |
|
|
搜索
Vim的搜索方法非常简单,只需要输入/+内容就可以进行搜索,其命令具体如下:
指令 |
说明 |
\+str |
向下搜索字符串str |
n |
继续搜索 |
N |
反向搜索 |
?+str |
反向搜索字符串str |
尝试使用命令搜索ephc,vmi
替换
Vim的常规替换命令主要由s和c完成,但替换命令之后,会进入插入模式,按下ESC即可返回普通模式,替换命令部分如下:
指令 |
说明 |
s |
用输入的正文替换游标所在的字符 |
ns |
用输入的正文替换游标右侧n个字符 |
c$ |
用输入的正文替换从游标开始到行尾的所有字符 |
c0 |
用输入的正文替换从本行开始到游标的所有字符 |
删除
Vim的删除命令主要由d和x完成,如下:
指令 |
说明 |
x |
删除游标所在的字符 |
X |
删除游标所在前一个字符 |
dw |
删除游标右的单词 |
dd |
删除游标所在行 |
d0 |
删除光标到行的开始 |
d$ |
删除光标到行的末尾 |
复制
Vim中删除操作其实与剪切操作类似,会将内容复制到内存缓冲区,当然,也可以通过命令自行复制而不删除内容:
指令 |
说明 |
yy |
复制游标所在行到缓冲区 |
nyy |
复制n行到缓冲区 |
粘贴
将内容复制到缓冲区后,可以使用命令将内容粘贴:
指令 |
说明 |
p |
粘贴到游标后 |
P |
粘贴到游标前 |
撤销
通过指令,可以撤销上一次的操作:
指令 |
说明 |
u |
撤销上次操作 |
重复
通过指令,可以重复上一次的操作:
指令 |
说明 |
u |
重复上次操作 |
******** 标签:记录,游标,模式,Vim,学习,命令,移动,光标 From: https://www.cnblogs.com/sunyang13763857269/p/16988174.html