VIM编辑器之常用命令
其他
2018-09-02 10:48:58
阅读次数: 0
基本模式切换
按键 |
作用 |
按键 |
作用 |
ESC |
C-[ |
C-c |
进入命令模式 |
i |
在光标前进入插入模式 |
I |
在本行行首进入插入模式 |
a |
在光标后进入插入模式 |
A |
在本行行尾进入插入模式 |
o |
在下一行插入新行,并进入插入模式 |
O |
在上一行插入新行,并进入插入模式 |
: |
执行ex命令 |
S-q |
进入ex模式 |
v |
|
V |
|
光标移动
基本移动
文本间移动
按键 |
作用 |
按键 |
作用 |
b |
上一个单词的开头 |
w |
下一个单词的开头 |
B |
忽略标点的b |
W |
忽略标点的w |
e |
下一个单词的结尾 |
E |
忽略标点的e |
$ |
移动到行尾 |
0 |
移动到行首 |
^ |
本行第一个非空字符处 |
n\’竖线’ |
移动到本行第n列 |
( |
移动到上一个句子的开头 |
) |
移动到下一个句子的开头 |
{ |
移动到上一段的开头 |
} |
移动到下一段的开头 |
[[ |
移动到上一节的开头 |
]] |
移动到下一节的开头 |
屏幕移动
按键 |
作用 |
按键 |
作用 |
C-f |
向下滚动一屏 |
C-b |
向上滚动一屏 |
C-d |
向下滚动半屏 |
C-u |
向上滚动半屏 |
z ENTER |
将当前行置在屏幕顶端 |
H |
移动到当前屏幕顶端的行 |
z . |
将当前行置在屏幕中心 |
M |
移动到当前屏幕中心的行 |
z- |
将当前行置在屏幕低端 |
L |
移动到当前屏幕底端的行 |
其他移动
按键 |
作用 |
按键 |
作用 |
gg |
移动到文本首行 |
G |
移动到文本尾行 |
BACKSPACE |
移动到前一个字符处,可跨行 |
SPACE |
移动到后一个字符处,可跨行 |
- |
移动到上一行第一个非空字符处 |
+ |
移动到下一行第一个非空字符处 |
文本编辑
按键 |
作用 |
按键 |
作用 |
x |
往后删一个字符 |
X |
往前删一个字符 |
d+光标移动 |
删除文本 |
dd |
删除本行 |
c+光标移动 |
更改文本 |
cc |
更改本行 |
y+光标移动 |
复制文本 |
yy |
复制本行 |
s |
删除当前字符后更改文本 |
S |
删除本行后更改文本 |
r |
替换字符 |
R |
进入替换模式 |
p |
向下放置缓冲区文本 |
P |
向上放置缓冲区文本 |
u |
撤销 |
U |
将当前行恢复到原状态 |
~ |
当前字符切换大小写 |
J |
合并下一行 |
搜素
按键 |
作用 |
按键 |
作用 |
/pattern |
全文向后搜素pattern |
?pattern |
全文向前搜素pattern |
n |
往同一方向进行全文搜素 |
N |
往反方向进行全文搜素 |
fx |
搜素当前行中下一个x出现的地方 |
Fx |
搜素当前行中上一个x出现的地方 |
tx |
搜素当前行中下一个x出现的前一个字符处 |
Tx |
搜素当前行中上一个x出现的后一个字符处 |
; |
往同一方向进行当前行搜素 |
, |
往反方向进行当前行搜素 |
ex命令
基本命令
命令 |
作用 |
a,b p |
显示a~b行 |
k s /pattern1/pattern2 |
将第k行的pattern1替换成pattern2 |
a,b d/delete |
删除a~b行 |
a,b m/move c |
将a~b行移至c行后 |
a,b co/copy c |
复制a~b行至c行后 |
= |
显示文件总行数 |
相关
行寻址 |
作用 |
通用 |
作用 |
. |
表示当前行 |
“[a-z0-9] |
指向一个寄存器 |
$ |
表示最后一行 |
变量 |
表示上一个打开的文件名 |
% |
表示每一行 |
%变量 |
表示当前文件名 |
vi [option] [filename]
命令 |
作用 |
vi +n file |
在第n行打开文件 |
vi + file |
在最后一行打开文件 |
vi +/pattern file |
在pattern第一次出现的地方打开文件 |
vi -R file |
以只读模式打开文件 |
vi -r file |
恢复编辑缓冲区 |
其他命令
命令 |
作用 |
命令 |
作用 |
w |
写入文件 |
q |
离开编辑器 |
wq |
写入并退出 |
x |
写入并退出,只有修改才写入 |
ar/args |
列出文件列表 |
n |
移动到下一个文件 |
rew/rewind |
将当前文件复位成第一个文件 |
last |
将当前文件复位成最后一个文件 |
e file |
切换到文件file |
e ! |
放弃编辑,并恢复到最初 |
C-^ |
在当前文件和上一个文件间切换 |
r/read file |
将文件内容插入到当前行下 |
g/pattern |
全局搜索pattern |
\’竖线‘ |
命令连接符 |
多窗口编辑
启动多窗口
打开窗口
ex命令 |
vim命令 |
作用 |
[n]split [++opt] [+cmd] [file] |
C-w s/C-w S |
水平分割当前窗口,并打开或创建一个文件 |
[n]new [++opt] [+cmd] |
C-w n/C-w C-n |
类似split,但打开一个空白文本 |
[n]sview [++opt] [+cmd] [file] |
|
只读的split |
[n]sfind [++opt] [+cmd] [file] |
|
类似split,但只打开已存在的文件 |
[n]vsplit [++opt] [+cmd] [file] |
C-w v/C-w C-V |
垂直的split |
[n]vnew [++opt] [+cmd] |
C-w n |
垂直的new |
窗口间移动
命令 |
作用 |
命令 |
作用 |
C-w j/C-w C-j |
移动到当前窗口下面的窗口 |
C-w k/C-w C-k |
移动到当前窗口上面的窗口 |
C-w h/C-w C-h |
移动到当前窗口左面的窗口 |
C-w l/C-w C-l |
移动到当前窗口右面的窗口 |
C-w t/C-w C-t |
移动到最左上角的窗口 |
C-w b/C-w C-b |
移动到最右下角的窗口 |
C-w w/C-w C-w |
移动到下一个窗口 |
C-w W |
移动到上一个窗口 |
C-w p/C-w C-p |
移动到前一个窗口 |
|
|
移动窗口位置
命令 |
作用 |
命令 |
作用 |
C-w J |
将窗口移动到最底端,并使用全部宽度 |
C-w K |
将窗口移动到最顶端,并使用全部宽度 |
C-w H |
将窗口移动到最左端,并使用全部高度 |
C-w L |
将窗口移动到最右端,并使用全部高度 |
C-w t/C-w C-t |
移动到最左上角的窗口 |
C-w b/C-w C-b |
移动到最右下角的窗口 |
C-w T |
移动窗口到新分页中 |
C-w x/C-w C-x |
与下一个窗口交换位置 |
C-w r/C-w C-r |
向右或下轮换窗口 |
C-w R |
向左或上轮换窗口 |
转载自blog.csdn.net/u014057054/article/details/72911111