首页 > 技术文章 > linux下的文本编辑器VI的使用命令

zjfjava 2018-10-31 10:32 原文

1. 移动光标

H                 #移到屏幕的左上角 
M                 #移到屏幕的中间行开头 
L                #移到屏幕的最后一行 
[                #移到文件开始位置 (双击)
]                #移到文件结束位置(双击)
:n                #移到文件的第n行 
Ctrl + b             #屏幕上卷一个菜单 
Ctrl + F           #屏幕下卷一个菜单
h                        # 将光标左移一格 
l                        # 将光标右移一格 
j                        # 将光标下移一格
k                        # 将光标上移一格
w                        # 将光标移到下一个小字的前面
b                        # 将光标移到前一个小字的前面
0                        # 把光标移到当前行的第一个字符处
$                        # 把光标移到当前行的最后一个字符处

2. 修改内容

nx                  #删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)
ndw                  #删除光标位置其实的n个字符组(dw删除光标所在的单词)
d0                   #将行的开始到光标位置的字符全部删除
d$ 或D                 #将光标位置起始到行尾的字符全部删除
ndd                  #将光标位置起始的n行(整行)删除(dd表示删除光标所在行)
:start,endd             #删除文件的第start到end行
rc                         #把光符所在字符替换成c
R                          #覆盖本行内容
u                          #恢复上一次的修改
cw                         #改变光标所在单词
C                          #改变一行光标位置以后的部分
cc或S                      #修改一整行

3. 寻找替换

/pattern                  #向后寻找指定的pattern ,若遇到文件尾,则从头再开始。 
?pattern                 #向前寻找指定的pattern ,若遇到文件头,则从尾再开始。 
n                         #在上次指定的方向上,再次执行
N                         #在上次指定的方向的相反方向上,再次执行上次定义的查找
:%s/old/new/g             #查找所有old并替换为new
:start,ends/old/new       #替换指定区域

4. 编辑切换

a                         #在光标之后开始输入文本 
A                        #在行尾开始输入文本 
I                        #在光标之前开始输入文本 
i                        #在行首第一个非空白字符前输入文本
o                        #在光标所在行后插入一空行
O                        #在光标所在行前插入一空行

5. 复制及移动文件

yy                        #把当前行放入缓冲区
yw                        #把光标所在的单词放入缓冲区
p                         #将缓冲区内容取到光标所在行的下面一行
P                         #将缓冲区内容取到光标所在行的上面一行
:first,last co dest      #将first 到last行的数据复制到目标行(dest)下面
:Start,end m dest       #将start 到 end行的数据移动到目标行(dest)下
:r filename           #将指定文件的内容读入光标所在行下 

6. 其他

vi                 #进入vi而不读入任何文件 
vi filename            #进入vi并读入指定名称的文件(新、旧文件均可)。 
vi +n filename         #进入vi并且由文件的第几行开始。 
vi + filename          #进入vi并且由文件的最后一行开始
vi filename(s)         #进入vi并且将各指定文件列入名单内,第一个文件先读入
u                #取消前一指令
Ctrl + l           #刷新屏幕显示
:set nu               #显示文件的行号,但不会存文件
:set nonu           #解除行号显示
e!                      #重新装入当前文件,若当前文件有改动,则丢弃以前的改动
:sh                     #启动sh ,从sh中返回可用exit或ctrl+d
:! Command              #执行命令command
!!                      #重新执行上次的:! Command子命令

7. 整理的脑图

 

推荐阅读