VIM 基本指令
启动和退出
$ vi filename 打开文件
$ vi +n filename 打开文件,光标置于第n行首
ZZ 退出vi并保存
:q! 退出但不保存
:wq 保存退出
CTRL-g 查看当前文件和行信息
光标控制:
gg,G 页首, 页尾
k,j,h,l 上下左右移动光标一个字符
fx,Fx 光标移到下一个/前一个x字符处,x为任意字符
tx,Tx 光标移到下一个/前一个x前一个字符处
w,b 光标前移/后移一个词
0,$ 光标移动到行首,行尾
(,),{,} 光标移动到句首,句尾,段首,段尾
6G 光标移动到第6行,6可以去其他任何数字
H,M,L 光标移动到屏幕上,中,下面
n+,n- 光标下移、上移n行,n为数字
*,# 读取光标所在词,并移动到该词下一个/上一个出现处
/text,?text 从当前位置向前/向后搜索text, 搜索词高亮显示,:nohl关闭高亮
ma,~a 在光标位置打上标记a, 光标移动到标记~a处
. 回到上次编辑的地方
nz 将第n行移至屏幕顶部
文字编辑:
i,a 在当前字符左边/右边插入,进入INSERT模式
I,A 在当前行首,行尾插入,进入INSERT模式
o,O 在当前行下面、上面插入一个新行,进入INSERT模式
c{motion} 删除motion命令跨过的字符,进入插入模式,ct! 删除光标到下一个'!'处的内容
d$,dd,dw 删除光标至行尾,删除本行,删除光标到词尾
x,s 删除当前光标字符 / 删除一字后进入插入模式
S 删除当前行,下一行不上移,进入输入状态
J 下面一行合并到本行
rx 光标下的字符更改为x
u,U 撤销最后执行的命令,撤销之前对该行的操作
复制粘贴:
v 进入选块模式
y,yy,nyy 复制当前选择块,当前行,当前行开始的n行
p 当前位置粘贴复制内容
文件/窗格操作:
:open filename 打开一个文件
:e filename 打开一个文件到缓冲区
:e! 重新打开编辑当前文件,所做修改都放弃
:w 保存修改
:split [file] 横向分屏,并打开指定文件
:vsplit [file] 纵向分屏,并打开指定文件
:bn 显示缓冲区下一个文件
:bp 显示缓冲区上一个文件
Ctrl+w+h/j/k/l 切换到前/下/上/后一个窗格
Ctrl+ww 依次向后切换到下一个窗格中
CTRL-W + >/< 设置窗格宽度
CTRL-W + +/- 设置窗格高度
:ls 显示文件缓冲器内容
:b[n|file] 在当前窗格中显示编号为n或名称为file的文件
:db 移除当前文件缓冲区
启动和退出
$ vi filename 打开文件
$ vi +n filename 打开文件,光标置于第n行首
ZZ 退出vi并保存
:q! 退出但不保存
:wq 保存退出
CTRL-g 查看当前文件和行信息
光标控制:
gg,G 页首, 页尾
k,j,h,l 上下左右移动光标一个字符
fx,Fx 光标移到下一个/前一个x字符处,x为任意字符
tx,Tx 光标移到下一个/前一个x前一个字符处
w,b 光标前移/后移一个词
0,$ 光标移动到行首,行尾
(,),{,} 光标移动到句首,句尾,段首,段尾
6G 光标移动到第6行,6可以去其他任何数字
H,M,L 光标移动到屏幕上,中,下面
n+,n- 光标下移、上移n行,n为数字
*,# 读取光标所在词,并移动到该词下一个/上一个出现处
/text,?text 从当前位置向前/向后搜索text, 搜索词高亮显示,:nohl关闭高亮
ma,~a 在光标位置打上标记a, 光标移动到标记~a处
. 回到上次编辑的地方
nz 将第n行移至屏幕顶部
文字编辑:
i,a 在当前字符左边/右边插入,进入INSERT模式
I,A 在当前行首,行尾插入,进入INSERT模式
o,O 在当前行下面、上面插入一个新行,进入INSERT模式
c{motion} 删除motion命令跨过的字符,进入插入模式,ct! 删除光标到下一个'!'处的内容
d$,dd,dw 删除光标至行尾,删除本行,删除光标到词尾
x,s 删除当前光标字符 / 删除一字后进入插入模式
S 删除当前行,下一行不上移,进入输入状态
J 下面一行合并到本行
rx 光标下的字符更改为x
u,U 撤销最后执行的命令,撤销之前对该行的操作
复制粘贴:
v 进入选块模式
y,yy,nyy 复制当前选择块,当前行,当前行开始的n行
p 当前位置粘贴复制内容
文件/窗格操作:
:open filename 打开一个文件
:e filename 打开一个文件到缓冲区
:e! 重新打开编辑当前文件,所做修改都放弃
:w 保存修改
:split [file] 横向分屏,并打开指定文件
:vsplit [file] 纵向分屏,并打开指定文件
:bn 显示缓冲区下一个文件
:bp 显示缓冲区上一个文件
Ctrl+w+h/j/k/l 切换到前/下/上/后一个窗格
Ctrl+ww 依次向后切换到下一个窗格中
CTRL-W + >/< 设置窗格宽度
CTRL-W + +/- 设置窗格高度
:ls 显示文件缓冲器内容
:b[n|file] 在当前窗格中显示编号为n或名称为file的文件
:db 移除当前文件缓冲区