vim编辑器
命令模式:
h、j、k、l:左、下、上、右,等同于方向键;number+方向键:向指定方向移动n单位
w,跳转至下一单词词首;e,跳转至下一单词词尾;b,前一单词词首
):跳转至下一句,(跳转至上一句
}:跳转至下一段,{跳转至上一段
PgUp:向上翻页
PgDn:向下翻页
number+:向右移动n列
number+[enter]:游标向下漂移n行
[home]/0:移动到当前行首,ctrl跳转至当前行非空行首
[end]:移动到当前行末位
H,移动到屏幕第一行首位;M,移动到屏幕中间行首位;L,动到屏幕末行首位
zt,将光标行移动至屏幕顶端;zz,屏幕中间;zb,屏幕末端
number+G:表示移动到文件n行,单G表示移动到文件末行首位,gg表示移动到文件首行首位
ZZ,保存退出;ZQ,不保存退出
/word:向下搜索,?向上搜索
n继续进行之前的动作,N反向执行之前的动作,只能重复搜索命令
:num,num2s/word/word1/gc #在指定行之间将word替换为word1#s,替换g,全局c,交互模式 :1,$s/word/word1/g#将文件首行和尾行之间的word替换为word1
x/X:等同于WIN系统[del]/[Backspace]按键,number+x/X
r+char:替换光标位置字符;R,键盘输入将替换光标所在内容,esc退出
dd:删除当前行,number+dd,向下删除n行,其他如d$删除到行尾d^删除至非空行首dw删除当前单词dG删除至文末
d0,删除当前行行首到游标之间数据;d$,行尾到游标;d1G,删除当前行之前数据(包含);dG,当前行之后
x:剪切字符,num+x向后剪切num个字符
yy:复制当前行,number+dd、d0、d$、d1G、dG用法同dd
numiword->[esc]:将word复制num次在光标处
di#:删除#···#之间的内容
p/P:将复制内容粘贴在光标之后/前
j:合并当前行与下一行
~ :转换大小写
J:删除当前行换行符
“ . ”小数点:重复上次动作,如num+.;u,撤回,只能用于复制粘贴删除动作num+u,撤销之前num次动作,U撤销当前行所做的所有更改;ctrl+r,重做最后的被撤销动作;
插入模式:
i:在游标前插入 /a:在游标后插入 /o:在游标行下另起一行插入
I:在当前行首位非空字节前插入/A:在当前行末位非空字节后插入/O:在游标行上另起一行插入
R:改写模式
Ctrl+x →Ctrl+o:以拓展名所用语法作为补充
Ctrl+x →Ctrl+n:以重复使用的关键字作为补充
拓展模式:
:wq! :强制对只读文件改写
:X:对文件加密
:w filename或:num,num2 w filename:将文件内容导入新文件
:r filename:将另一文件内容导入该文件(游标行下另起一行)
:! command:暂时离开vi进入bash执行命令并显示结果(Ctrl+c/Enter退出)
:r!command:读取命令输出保存到文件中
:set nu/set nonu:显示行数/不显示
:%s/word1/word2/g:全局替换(分隔符也可以使用@#)(修饰符;g行内所有匹配内容全部替换,默认只替换第一个匹配内容;i,忽略大小写)
num t num1:将num或寻址行移动到num1行之后
num m num1:将num或寻址行移动到num1行之前
参数设置
:set nu#行首数字
:set ic#忽略大小写
:set hl#高亮搜索
:syntax on/off#语法高亮开启或关闭
:set ff=unix/dos#转换文件格式为unix或dos
:set autoindent#自动缩进
:set paste#复制时保留原格式
:set backup#自动备份(默认不备份,备份文件为filename~)
:set all#显示所有配置参数
:set list#显示特殊字符如tab等
:set bg=light#背景亮色调(dark暗色调)
寻址(拓展模式下)
num:第num行
num,num1:从num至num1行
num,+num1:从num至(num+num1)行
num,num1-
'.' :当前行
$:最后一行
num,$-num1:第num至倒数num1行
%:全文
/word
/word/,/word1/
num,//
可视化模式(块编辑):
v:选择游标经过的字符
V:选择游标经过的行
Ctrl+v:块选择
适合批量插入,先块模式选中,然后进入插入模式(这里不需要[esc])输入字符,后[esc]
其他编辑:
多文件编辑(适用于多文件内容进行交互):n,编辑下一个文件 :N,编译上一个文件 :files,显示文件名
多窗口编辑::sp,打开另一窗口,如果需要在窗口中显示另一文件,需要指定文件名;Ctrl+w+方向键,在窗口之间移动;Ctrl+w+wq,保存并退出当前窗口,按键方法Ctrl+w(代表窗口),wq
vim帮助
vimtutor命令