vi命令简单摘要
时间:2006-01-10 来源:liu2linux
1.快速移动
w、e 移动到下一个单词的开头、结尾
b、ge 移动到前一个单词的开头、结尾
W 移动到下一个空格的开头
B 移动到前一个空格的开头
$ 移动到当前行的末尾
^ 移动到当前行第一个非空字符上
0 移动到当前行第一个字符(可能是空格)
fx 移动到当前行光标后的字符x上
Fx 移动到当前行光标前的字符x上
G 跳到尾行
gg 跳到首行
45G 跳到第45行
`` 跳到前一个光标位置
ma 将当前光标位置标记为a(一共可以记录为a-z26个标记)
`a 跳到标记a处
:marks 显示标记列表
ctrl-o 跳到上一位置
ctrl-i 跳到下一位置
:jumps 列出跳到的位置列表
ctrl-] 跳转到光标所在字符串表示的主题处
H 跳到屏幕的首行
M 跳到屏幕的中间行
L 跳到屏幕的尾行
ctrl-g 显示当前光标所在行等信息
:set number 显示行号
:set nonumber 不显示行号
ctrl-y 向上滚屏
ctrl-e 向下滚屏
ctrl-u 向上滚半屏
ctrl-d 向下滚半屏
ctrl-b 向上滚一屏
ctrl-f 向下滚一屏
zz 把当前行置为屏幕的中间
zt 把当前行置为屏幕的顶端
zb 把当前行置为屏幕的尾端
% 与当前光标所在位置匹配的()、[]
{、} 与当前光标所在位置匹配的{、}
[[、]] 上一个、下一个函数的开头
2.查找
/pattern 向后查找匹配的字符串(输入/后按上下键会出现上次输入的匹配串)
?pattern 向前查找匹配的字符串
n、N 查找下一个(方向与上一次相同、相反)
*、gd 查找当前光标所在的单词
:h :s 查看替换命令的帮助
:set ignorecase 设置忽略大小写
:set noignorecase 不忽略大小写
3.输入
ctrl-n 自动补齐变量或函数名
qa 操作 q 将操作记录在宏a中(一共可用26个宏)
@a 重复宏a中的操作(机械的重复键入的操作,光标移动也在内,使用时注意操作位置的问题)
:abbr ture true 单词自动替换功能,比如当键入ture时会自动的替换成true(可以自定义一些没有歧异的缩写)
3.文字处理
a 在当前光标后插入
i 在当前光标前插入
o 在当前行后插入一行
O 在当前行前插入一行
x 删除一个字符
dd 删除一行
dw 删除一个单词
d$、D 删除光标至当前行尾
d^ 删除光标至当前行首
d0 删除光标至当前行首
cw 删除一个单词并进入插入模式
r 有后面输入的字符替换当前光标下的字符
R 进入替换模式,键入的字符会替换光标下的字符,按ESC退出到命令模式
也可以先用v进入视图模式后再用d删除选择的文本
v 进入视图模式
V 进入视图模式,整行选取
ctrl-v 进入视图模式,选取矩形块(o、O 在可视模式下,调整光标所在角)
yy 复制一行
y$、y^ 复制到行尾、行首
J 将两行合并为一行
u 撤销上一次操作
crtl-R 恢复上一次的操作
ZZ或:wq 保存并退出
:q! 不保存退出
:w 保存
:e! 放弃保存前的所有修改并重新载入该文件的原始内容
:help {subject} 查看某个主题的帮助,会将屏幕分成2个编辑窗口,可以使用ZZ或:q退出而不关闭原编辑窗口
:help ctrl-r 查看ctrl-r控制键的帮助,ctrl-表示控制键
5.重复执行
.
6.拆分窗口
new 打开新的空窗口
split 水平拆分窗口
vsplit 垂直拆分窗口
split socket.c 在新窗口中打开socket.c文件
5ctrl-w+ 将窗口高度增加5行
10ctrl-w- 将窗口高度减少10行
ctrl-wctrl-w 在窗口间切换
7.比较2个文件
vimdiff file1 file2
8.多个文件操作
vi file1 file2 一次打开多个文件
:args 显示编辑的文件列表
:arga 添加一个文件到列表
:argd 从列表中删除一个文件
:n 跳到下一个文件
:N 跳到前一个文件
:n file 跳到指定的文件
:saveas file 另存为
:buffers 显示所有打开的文件及其编号
:buffer N 显示第几个打开的文件
:bnext 显示下一个打开文件
:bNext :bprevious 显示前一个打开文件
具体看
:h buffer-list
:h buffers
vi filea
: arga fileb
: previous
即可开始编辑fileb
: n
即可开始编辑filea
: previous
即可开始编辑fileb
9.在文件间复制粘贴
进入可视模式选择文本后
"ay 复制到寄存器a中
"by 复制到寄存器b中
切换到另一个文件
"ap 粘贴寄存器a中的内容
"bp 粘贴寄存器b中的内容
10.使用taglist
:Tlist 启动
在~/.vimrc中加入一行
:nnoremap <silent> <F11> :Tlist<CR>
设置启动快捷键为F11
11.语法高亮显示
将/usr/share/vim/vim64/vimrc_example.vim复制到~/下,存为.vimrc(例如执行cp /usr/share/vim/vim64/vimrc_example.vim ~/.vimrc)
12.将c语言缩进改为4个空格
在~/.vim中加入一行set cindent shiftwidth=4
w、e 移动到下一个单词的开头、结尾
b、ge 移动到前一个单词的开头、结尾
W 移动到下一个空格的开头
B 移动到前一个空格的开头
$ 移动到当前行的末尾
^ 移动到当前行第一个非空字符上
0 移动到当前行第一个字符(可能是空格)
fx 移动到当前行光标后的字符x上
Fx 移动到当前行光标前的字符x上
G 跳到尾行
gg 跳到首行
45G 跳到第45行
`` 跳到前一个光标位置
ma 将当前光标位置标记为a(一共可以记录为a-z26个标记)
`a 跳到标记a处
:marks 显示标记列表
ctrl-o 跳到上一位置
ctrl-i 跳到下一位置
:jumps 列出跳到的位置列表
ctrl-] 跳转到光标所在字符串表示的主题处
H 跳到屏幕的首行
M 跳到屏幕的中间行
L 跳到屏幕的尾行
ctrl-g 显示当前光标所在行等信息
:set number 显示行号
:set nonumber 不显示行号
ctrl-y 向上滚屏
ctrl-e 向下滚屏
ctrl-u 向上滚半屏
ctrl-d 向下滚半屏
ctrl-b 向上滚一屏
ctrl-f 向下滚一屏
zz 把当前行置为屏幕的中间
zt 把当前行置为屏幕的顶端
zb 把当前行置为屏幕的尾端
% 与当前光标所在位置匹配的()、[]
{、} 与当前光标所在位置匹配的{、}
[[、]] 上一个、下一个函数的开头
2.查找
/pattern 向后查找匹配的字符串(输入/后按上下键会出现上次输入的匹配串)
?pattern 向前查找匹配的字符串
n、N 查找下一个(方向与上一次相同、相反)
*、gd 查找当前光标所在的单词
:h :s 查看替换命令的帮助
:set ignorecase 设置忽略大小写
:set noignorecase 不忽略大小写
3.输入
ctrl-n 自动补齐变量或函数名
qa 操作 q 将操作记录在宏a中(一共可用26个宏)
@a 重复宏a中的操作(机械的重复键入的操作,光标移动也在内,使用时注意操作位置的问题)
:abbr ture true 单词自动替换功能,比如当键入ture时会自动的替换成true(可以自定义一些没有歧异的缩写)
3.文字处理
a 在当前光标后插入
i 在当前光标前插入
o 在当前行后插入一行
O 在当前行前插入一行
x 删除一个字符
dd 删除一行
dw 删除一个单词
d$、D 删除光标至当前行尾
d^ 删除光标至当前行首
d0 删除光标至当前行首
cw 删除一个单词并进入插入模式
r 有后面输入的字符替换当前光标下的字符
R 进入替换模式,键入的字符会替换光标下的字符,按ESC退出到命令模式
也可以先用v进入视图模式后再用d删除选择的文本
v 进入视图模式
V 进入视图模式,整行选取
ctrl-v 进入视图模式,选取矩形块(o、O 在可视模式下,调整光标所在角)
yy 复制一行
y$、y^ 复制到行尾、行首
J 将两行合并为一行
u 撤销上一次操作
crtl-R 恢复上一次的操作
ZZ或:wq 保存并退出
:q! 不保存退出
:w 保存
:e! 放弃保存前的所有修改并重新载入该文件的原始内容
:help {subject} 查看某个主题的帮助,会将屏幕分成2个编辑窗口,可以使用ZZ或:q退出而不关闭原编辑窗口
:help ctrl-r 查看ctrl-r控制键的帮助,ctrl-表示控制键
5.重复执行
.
6.拆分窗口
new 打开新的空窗口
split 水平拆分窗口
vsplit 垂直拆分窗口
split socket.c 在新窗口中打开socket.c文件
5ctrl-w+ 将窗口高度增加5行
10ctrl-w- 将窗口高度减少10行
ctrl-wctrl-w 在窗口间切换
7.比较2个文件
vimdiff file1 file2
8.多个文件操作
vi file1 file2 一次打开多个文件
:args 显示编辑的文件列表
:arga 添加一个文件到列表
:argd 从列表中删除一个文件
:n 跳到下一个文件
:N 跳到前一个文件
:n file 跳到指定的文件
:saveas file 另存为
:buffers 显示所有打开的文件及其编号
:buffer N 显示第几个打开的文件
:bnext 显示下一个打开文件
:bNext :bprevious 显示前一个打开文件
具体看
:h buffer-list
:h buffers
vi filea
: arga fileb
: previous
即可开始编辑fileb
: n
即可开始编辑filea
: previous
即可开始编辑fileb
9.在文件间复制粘贴
进入可视模式选择文本后
"ay 复制到寄存器a中
"by 复制到寄存器b中
切换到另一个文件
"ap 粘贴寄存器a中的内容
"bp 粘贴寄存器b中的内容
10.使用taglist
:Tlist 启动
在~/.vimrc中加入一行
:nnoremap <silent> <F11> :Tlist<CR>
设置启动快捷键为F11
11.语法高亮显示
将/usr/share/vim/vim64/vimrc_example.vim复制到~/下,存为.vimrc(例如执行cp /usr/share/vim/vim64/vimrc_example.vim ~/.vimrc)
12.将c语言缩进改为4个空格
在~/.vim中加入一行set cindent shiftwidth=4
相关阅读 更多 +