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. 多窗口编辑
    (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命令

 

posted @ 2016-04-06 23:48  侠之大者kamil  阅读(313)  评论(0编辑  收藏  举报