Vi常用命令
- 格式:doc
- 大小:121.00 KB
- 文档页数:18
进入vi的命令 (1)
移动光标类命令 (1)
屏幕翻滚类命令 (2)
编辑插入文本类命令 (3)
删除命令 (5)
搜索及替换命令 (6)
选项设置 (8)
组合命令 (10)
最后行方式命令 (14)
寄存器操作 (15)
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
^ 光标移到行首
f 光标移到当前光标位置后面的第一个指定的字符下
F 光标移到当前光标位置前面的第一个指定的字符下
t 光标移到当前光标位置后面的第一个指定的字符前
T 光标移到当前光标位置前面的第一个指定的字符前
% 光标移动到与当前括号匹配的括号处
:n 光标移动到指定行
按数字:0:移到文章的开头。
按G:移动到文章的最后。
按w:光标跳到下个字的开头
按e:光标跳到下个字的字尾
按b:光标回到上个字的开头
按:#l:光标移到该行的第#个位置,如:5l,56l。
跳至指定的行
Ctrl + g列出光标所在行的行号。
#G:例如,15G,表示移动光标至文章的第15行行首
14.光标控制
k:上移nk 上移n行
j:下移nj 下移n行
将光标移到第n行,按下mk
将光标移到第m行,按下"ay'k
即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
zz 将当前行置于屏幕中央
zt 将当前行置于屏幕顶端
zb 将当前行置于屏幕底端
编辑插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
J 删除换行符
u 取消上次操作
ctr-R 重做
c 修改指定的内容,和d相似
p 将删除缓冲区中的内容插入光标当前的位置
y 复制
vi a b c
:n跳至下一个文件,:e#回到刚才编辑的文件。
比如当前编辑文件为a,:n跳至b,再:n跳至c,:e#回到b,想回到a的话用:ea
打开一个,vi 文件名
然后在vi的命令输入状态下输入
:sp 另外一个文件的路径及文件名
如此就可以在一个窗口打开3个文件了。
可以使用ctrl +两次按w
在3个文件中切换
:edit 编辑一个新的文件
:previous 打开文件列表中的前一个文件
:next 打开文件列表中的后一个文件
:args 指定一个文件列表
:saveas 给文件改名
:file 给正在编辑的文件改名,但不保存
:split 将窗口分成上下两个窗口
:vsplit 将窗口分成左右两个窗口
:split 文件为制定的文件打开新窗口
:new 打开新窗口,以及一个无名的缓冲区
:close 关闭窗口
ctr-w w 切换窗口
ctr-w [hjkl] 切换到窗口
ctr-w [HJKL] 移动窗口
:only 只保存当前窗口,其他窗口关闭
ctw-w + 增加当前窗口高度
ctw-w - 减小当前窗口高度
:qall 所有的窗口都退出
:wall 所有的窗口内容都写入文件
取消上一命令(Undo)
重复命令(Redo)
重复命令只能在命令模式下工作,在该模式下按“.”键既可。执行一个重复命令时,其结果是依赖于光标当前位置的。
取消上一命令(Undo)
重复命令(Redo)
重复命令只能在命令模式下工作,在该模式下按“.”键既可。执行一个重复命令时,其结果是依赖于光标当前位置的。
fx 往右移动到x 字元上
Fx 往左移动到x 字元上
tx 往右移动到x 字元前
Tx 往左移动到x 字元前
; 配合f&t 使用,重复一次
, 配合f&t 使用,反方向重复一次
/string 往右移动到有string 的地方
?string 往左移动到有string 的地方
n 配合/&? 使用,重复一次
N 配合/&? 使用,反方向重复一次
d 删除(delete)
y 复制(yank)
p 放置(put)
c 修改(change)
x 删除光标下的字符("dl"的缩写)
X 删除光标前的字符("dh"的缩写)
D 从当前位置删除到行尾("d$"的缩写)
dw 从当前位置删除到下一个单词开头
db 从当前位置删除到前一个单词的开头