vim快捷键总结(文字版)
一. 添加文本
光标的移动与定位
(1) 光标的移动命令。
h、j、k、l:光标向左、下、上、右移动一个字符 w:以单词为单位向后移动光标 b:以单词为单位向前移动光标 e:光标移动到该单词的词尾 ( ):光标移到到句首、句尾 { }:光标移动到段首、段尾
(2) 光标定位命令
$:光标移动至行尾 0:光标移至行首 f:光标移动指定的字符下 [n]G:光标定位到第n行。其中,n为可选的数字,为指定n时,默认光标移动最后一行。
(3) 在命令模式下,键盘上某些键可以实现对光标的定位和移动操作。
Home键:光标移动至行首
End键:光标移动至行尾
PageUp键:向上翻页
PageDown键:向下翻页
Backspace键:贯标前移一个字符
Space键:光标后移一个字符
Enter键:光标下移一个字符
(4)屏幕的滚动:当文件比较大时,想要快速的定位到指定的页时,就需要进行屏幕的滚动操作。
Ctrl+U键:向上翻半屏 Ctrl+D键:向下翻半屏 Ctrl+B键:向上翻一屏 Ctrl+F键:向下翻一屏
常用的插入命令
a:在光标位置后开始接收输入。
A:在行尾后开始接收输入。
i:在光标位置前开始接收输入。
I:在行首后开始接收输入。
o:在光标所在行之后开辟一个新的空行,并开始接收输入。
O:在光标所在行之前开辟一个新的空行,并开始接收输入。
二. 删除文本
-
删除文本时,一般情况下,要保证当前处于命令模式下。 用户在插入模式下进行文本录入的时候,如果要删除某个字符时,要先按Esc键,保证处于命令模式下,才能使用相关的删除命令进行字符的删除操作 x:删除光标处的单个字符。 X:删除光标左边的单个字符。 D:删除一行文本。如果光标位于文本的中部,则删除此行光标右边的文本。 dd:删除光标所在行的文本。 J:当前行与下一行合并为一行,光标置于第二行,即删除当前行的行尾处的换行符。 d+定位符:删除从光标位置到指定位置范围内的字符。 d0:删除光标所在行左边的文本。 D$:删除光标所在行右边的文本。 dG:删除光标所在行之后的所有行。 命令前加数时,表示删除范围扩大n倍 2x:删除光标处的两个字符。 5dd:删除5行。 在命令模式下,可以按Delete键实现删除光标处的字符,与x命令相同。
三. 文本的替换与修改
- 文本的替换是用一个字符替换另一个字符,或用多个字符替换一个字符或一行,是一种先删除后插入的操作。按Esc键结束插入过程。
- 文本的修改是修改一部分文本的内容,先删除指定范围内的文本,然后插入新文本。按Esc键结束插入过程。
- 使用替换命令或修改命令,都要在命令模式下进行。
1.常用的替换命令
s:用输入的新文本替换光标处的字符。新文本可以为一个或多个字符。
S:用输入的新文本替换光标所在的行。如果不输入新文本,则执行效果是正行文本都被删除,变成一个空白行。
r:用输入的新字符替换光标处的字符。新字符指的是一个字符。
R:用输入的新文本逐个替换从光标处开始的各个字符。
2.常用的修改命令
c0:修改光标左边的字符。
c$:修改光标右边的字符。
c1:修改光标处的字符。
cG:修改光标所在行之后的所有行。
四 文本的剪切、复制、粘贴
在命令模式下执行。
yy:复制光标所在的行。 y0:复制光标左边的文本内容。 y$:复制光标右边的文本内容。 p:粘贴文本的内容到光标处。 dd:剪切光标所在行的文本。 5yy:复制五行 m,ny:复制m到n行
五 撤销与重复执行
-
在对文本的修改操作中,如果想取消刚刚执行的命令,则可以通过u命令进行文本的恢复。 如果重复执行刚才执行的命令,则可以通过“.”命令来重复执行上一个命令。
六 全文范围的字符查找与替换
转义模式下执行。
1. 关键字的查找
执行查找命令“/关键字
”,将从当前光标位置处开始查询,直至如果能够找到匹配的字符串,则光标将停留在第一个匹配字符串的首字符处。键入n
,可以继续向后进行查找。当搜到文件尾后,键入n
,则返回文件头部继续查找。
2.字符串的替换
执行替换命令s
。基本格式如下
:[替换起始处,替换结束处]
s
/要被替换的字符串
/替换的字符串/
[g][c]
“^
”表示首行,“$
”表示末行。g
选项:表示替换目标行中所有匹配的字符串。若没有g,则只替换目标行中第一个匹配的字符串。c
选项:表示替换以互动的方式进行,替换前会提示用户进行确认。
eg:执行::1,$ s/is/are/g 替换从第一行开始到行末的所有is变成are
七 保存与退出命令
转义模式下执行。
:q:如果原文为修改,不保存文件,直接退出。 :q!:不保存文件强制退出。 :wq!:强制保存文件并退出。 :e!:放弃修改,编辑区恢复为文件原样。 :w:保存当前文件 :w 路径名 / 文件名:另存为。
八. 高级应用
- 多窗口编辑
(1) 在vi中以此打开两个文件
输入命令vi 文件名,打开一个文件1
在一打开的文件1中,按Esc键
回到命令模式
进入末行模式,输入命令:sp
文件名2
(2) 光标在两个窗口中的切换
如果当前光标处于下面窗口的文件中,按Esc键
,Ctrl+W键
,键入k
,是光标定位到上面的窗口
如果当前光标处于上面窗口的文件中,按Esc键
,Ctrl+W键
,键入j
,是光标定位到下面的窗口
(3) 全文复制功能
执行命令 :r
被复制的文件名
(4) 关闭窗口
当多个窗口的文件全部编辑完毕后,依次使用退出命令关闭所有文件。
2.区域复制
- 打开某个文件,光标移动到需要复制的第一行
- 按
Esc键
,确保当前处于命令模式,在按Ctrl+V键
。 - 使用小键盘上的上、下、左、右方向键,进行区域选取。
- 键入
y
,结束区域选取。 - 光标移至目标位置,键入
p
,实现区域复制。
3.在vi中实现与shell的交互
执行命令:!Shell命令
公众号请关注:侠之大者