vim基本用法

219 阅读4分钟

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命令