vim文本编辑器

时间:2019-09-25 09:03来源: 操作系统
指令历史 以:和/开头的下令都有历史纪录,能够率先键入:或/然后按上下箭头来抉择有个别历史命令。 VIM键位指令图 启动vim 在命令行窗口中输入以下命令就能够 vim 直接开发银行vim v

指令历史

以:和/开头的下令都有历史纪录,能够率先键入:或/然后按上下箭头来抉择有个别历史命令。

VIM键位指令图

启动vim

在命令行窗口中输入以下命令就能够

vim 直接开发银行vim

vim filename 张开vim并成立名称为filename的文本

图片 1

文本命令

开垦单个文件

vim file

与此同期开拓多个公文

vim file1 file2 file3 ...

在vim窗口中开拓二个新文件

:open file

在新窗口中展开文件

:split file

切换到下贰个文件

:bn

切换来上三个文书

:bp

查阅当前伸开的文书列表,当前正在编写的公文少禽用[]括起来。

:args

张开远程文件,比如ftp或然share folder

:e ftp://192.168.10.76/abc.txt

:e \qadrivetest1.txt

命令历史

以:和/开端的下令都有历史纪录,能够率先键入:或/然后按上下箭头来摘取有些历史命令。

vim的模式

好端端情势(按Esc或Ctrl+[跻身) 左下角展现文件名或为空
插入格局 左下角突显--INSERT--
可视情势 左下角呈现--VISUAL--

启动vim

在命令行窗口中输入以下命令就能够

vim 直接开发银行vim

vim filename 展开vim并创制名称为filename的文书

导航命令

% 括号相称

文件命令

开辟单个文件

vim file

同不平时间开垦多少个公文

vim file1 file2 file3 ...

在vim窗口中开采三个新文件

:open file

在新窗口中展开文件

:split file

切换成下三个文件

:bn

切换成上一个文件

:bp

翻看当前开垦的文件列表,当前正值编纂的文书会用[]括起来。

:args

开辟远程文件,举个例子ftp只怕share folder

:e ftp://192.168.10.76/abc.txt

:e \qadrivetest1.txt

布置命令

i 在时下地方生前布置

I 在日前行首插入

a 在时下职责后插入

A 在眼前行尾插入

o 在脚下行以往插入一行

O 在当前行以前插入一行

vim的模式

好端端情势(按Esc或Ctrl+[跻身) 左下角彰显文件名或为空
布置方式(按i键踏向) 左下角突显--INSERT--
可视方式(不知底哪些步向) 左下角呈现--VISUAL--

搜寻命令

/text  查找text,按n健查找下贰个,按N健查找前八个。

?text  查找text,反向查找,按n健查找下一个,按N健查找前二个。

vim中有部分特殊字符在寻觅时索要转义  .*[]^%/?~$

:set ignorecase  忽略大小写的探索

:set noignorecase  不忽视大小写的物色

追寻不长的词,假若二个词非常长,键入麻烦,可以将光标移动到该词上,按*或#键即能够该单词举行搜寻,也正是/找寻。而#一声令下相当于?寻找。

:set hlsearch  高亮寻找结果,全部结果都高亮呈现,并不是只体现二个至极。

:set nohlsearch  关闭高亮找寻显示

:nohlsearch  关闭当前的高亮突显,假使再一次找出依然按下n或N键,则会另行高亮。

:set incsearch  逐步找寻情势,对近日键入的字符进行检索而不要等待键入落成。

:set wrapscan  重新搜索,在搜寻到文件头或尾时,再次回到继续搜寻,默许开启。

导航命令

% 括号相配

轮换命令

ra 将眼下字符替换为a,当期字符即光标所在字符。

s/old/new/ 用old替换new,替换当前行的首先个十二分

s/old/new/g 用old替换new,替换当前行的富有相配

%s/old/new/ 用old替换new,替换全体行的第三个门户大概

%s/old/new/g 用old替换new,替换整个文件的享有相称

:10,20 s/^/ /g 在第10行知第20行每行前边加多个空格,用于缩进。

ddp 沟通光标所在行和其下紧邻的一站式。

插入命令

i 在当下任务生前布置

I 在现阶段行首插入

a 在当下岗位后插入

A 在现阶段行尾插入

o 在当前行未来插入一行

O 在现阶段行以前插入一行

移步命令

h 左移三个字符
l 右移三个字符,那些命令非常少用,一般用w代替。
k 上移叁个字符
j 下移贰个字符
如上多个指令能够包容数字运用,比方20j便是向下活动20行,5h就是向左移动5个字符,在Vim中,非常多发令都得以合作数字运用,举个例子删除13个字符10x,在当前地点后插入3个!,3a!<Esc>,这里的Esc是必须的,不然命令不见效。

w 向前挪动三个单词,纵然已到行尾,则转至下一行行首。此命令快,能够取代l命令。

b 向后活动一个单词 2b 向后移动2个单词

e,同w,只然则是光标停在单词尾巴部分

ge,同b,光标停在单词尾巴部分。

^ 移动到本行第二个非空白字符上。

0运动到本行第一个字符上,

<HOME> 移动到本行第叁个字符。同0健。

$ 移动到行尾 3$ 移动到上边3行的行尾

gg 移动到文件头。 = [[

G(shift + g) 移动到文件尾。 = ]]

f命令也可以用来移动,fx将找到光标后先是个为x的字符,3fd将找到第多少个为d的字符。

F 同f,反向查找。

跳到钦命行,冒号+行号,回车,比如跳到240行正是:239次车。另一个办法是行号+G,比方230G跳到230行。

Ctrl + e 向下滚动一行

Ctrl + y 向上滚动一行

Ctrl + d 向下滚动半屏

Ctrl + u 向上滚动半屏

Ctrl + f 向下滚动一屏

Ctrl + b 向上滚动一屏

探索命令

/text  查找text,按n健查找下二个,按N健查找前二个。

?text  查找text,反向查找,按n健查找下三个,按N健查找前八个。

vim中有一对特殊字符在检索时索要转义  .*[]^%/?~$

:set ignorecase  忽略大小写的搜索

:set noignorecase  不忽视大小写的搜求

搜寻很短的词,假设多个词十分短,键入麻烦,能够将光标移动到该词上,按*或#键即能够该单词实行寻觅,约等于/寻找。而#命令也正是?寻觅。

:set hlsearch  高亮寻觅结果,全部结果都高亮展现,实际不是只彰显贰个匹配。

:set nohlsearch  关闭高亮找寻呈现

:nohlsearch  关闭当前的高亮突显,假若重新搜索依然按下n或N键,则会重复高亮。

:set incsearch  逐步搜索情势,对现阶段键入的字符进行查找而不用等待键入完毕。

:set wrapscan  重新找寻,在寻觅到文件头或尾时,再次来到继续查找,私下认可开启。

注销和重做

u 撤销
U 撤消对整行的操作
Ctrl + r 重做,即撤除的撤除。

轮换命令

ra 将如今字符替换为a,当期字符即光标所在字符。

s/old/new/ 用old替换new,替换当前行的率先个门户卓殊

s/old/new/g 用old替换new,替换当前行的装有相称

%s/old/new/ 用old替换new,替换全数行的第一个分外

%s/old/new/g 用old替换new,替换整个文件的兼具相称

:10,20 s/^/    /g 在第10行知第20行每行后面加多少个空格,用于缩进。

ddp 交流光标所在行和其下紧邻的一条龙。

删去命令

x 删除当前字符

3x 删除当前光标开首向后四个字符

X 删除当前字符的前多个字符。X=dh

dl 删除当前字符, dl=x

dh 删除前二个字符

dd 删除当前行

dj 删除上一行

dk 删除下一行

10d 删除当前行开端的10行。

D 删除当前字符至行尾。D=d$

d$ 删除当前字符之后的持有字符

kdgg 删除当前行在此之前全数行

jdG(jd shift + g) 删除当前行以后全体行

:1,10d 删除1-10行

:11,$d 删除11行及之后全体的行

:1,$d 删除全部行

J(shift + j)  删除两行之间的空行,实际上是联合两行。

移步命令

h 左移一个字符
l 右移三个字符,那个命令比很少用,一般用w替代。
k 上移七个字符
j 下移三个字符
如上五个指令能够兼容数字运用,比如20j正是向下移动20行,5h就是向左移动5个字符,在Vim中,非常多下令都能够匹配数字运用,举个例子删除12个字符10x,在时下任务后插入3个!,3a!<Esc>,这里的Esc是必须的,不然命令不奏效。

w 向前移动二个单词(光标停在单词首部),假诺已到行尾,则转至下一行行首。此命令快,能够代表l命令。

b 向后活动二个单词 2b 向后移动2个单词

e,同w,只可是是光标停在单词尾部

ge,同b,光标停在单词尾巴部分。

^ 移动到本行第二个非空白字符上。

0(数字0)移动到本行第叁个字符上,

<HOME> 移动到本行第三个字符。同0健。

$ 移动到行尾 3$ 移动到下边3行的行尾

gg 移动到文件头。 = [[

G(shift + g) 移动到文件尾。 = ]]

f(find)命令也得以用来移动,fx将找到光标后首先个为x的字符,3fd将找到第2个为d的字符。

F 同f,反向查找。

跳到钦命行,冒号+行号,回车,比方跳到240行就是:2肆十一回车。另三个主意是行号+G,比如230G跳到230行。

Ctrl + e 向下滚动一行

Ctrl + y 向上滚动一行

Ctrl + d 向下滚动半屏

Ctrl + u 向上滚动半屏

Ctrl + f 向下滚动一屏

Ctrl + b 向上滚动一屏

拷贝和粘贴

yy 拷贝当前行

nyy 拷贝当前后先导的n行,比如2yy拷贝脚下行及其下一行。

p 在现阶段光标后粘贴,倘诺从前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。

shift+p 在现阶段行前粘贴

:1,10 co 20 将1-10行插入到第20行之后。

:1,$ co $ 将全体文件复制一份并加多到文件尾巴部分。

健康情势下按v步入可视情势,然后用jklh命令移动就可以选用一些行或字符,再按y就能够复制

ddp调换当前行和其下一行

xp交流当前字符和之后叁个字符

收回和重做

u 撤销(Undo)
U 撤消对整行的操作
Ctrl + r 重做(Redo),即撤废的裁撤。

分割命令

正规形式下按v步向可视情势,然后用jklh命令移动就可以选拔一些行或字符,再按d就可以剪切

ndd 剪切当前行今后的n行。利用p命令能够对细分的内容开展粘贴

:1,10d 将1-10行区划。利用p命令可将划分后的源委打开粘贴。

:1, 10 m 20 将第1-10行移动到第20行之后。

去除命令

x 删除当前字符

3x 删除当前光标开首向后四个字符

X 删除当前字符的前四个字符。X=dh

dl 删除当前字符, dl=x

dh 删除前贰个字符

dd 删除当前行

dj 删除上一行

dk 删除下一行

10d 删除当前行初阶的10行。

D 删除当前字符至行尾。D=d$

d$ 删除当前字符之后的兼具字符(本行)

kdgg 删除当前行在此之前全体行(不包蕴方今行)

jdG(jd shift + g)   删除当前行现在全部行(不包涵前段时间行)

:1,10d 删除1-10行

:11,$d 删除11行及之后全部的行

:1,$d 删除全体行

J(shift + j)  删除两行之间的空行,实际上是统一两行。

剥离命令

:wq 保存并退出

ZZ 保存并脱离

:q! 强制退出并忽略全体更换

:e! 丢弃全数修改,并展开原本文件。

拷贝和粘贴

yy 拷贝当前行

nyy 拷贝当前后开头的n行,比方2yy拷贝脚下行及其下一行。

p  在时下光标后粘贴,固然以前使用了yy命令来复制一行,那么就在如今行的下一行粘贴。

shift+p 在时下行前粘贴

:1,10 co 20 将1-10行插入到第20行之后。

:1,$ co $ 将总体文件复制一份并增加到文件尾巴部分。

正规情势下按v(逐字)或V(逐行)步向可视情势,然后用jklh命令移动就能够选拔一些行或字符,再按y就可以复制

ddp交流当前行和其下一行

xp交流当前字符和之后一个字符

窗口命令

:split或new 张开三个新窗口,光标停在顶层的窗口上

:split file或:new file 用新窗口展开文件

split展开的窗口都以横向的,使用vsplit能够纵向展开窗口。

Ctrl+ww 移动到下三个窗口

Ctrl+wj 移动到尘凡的窗口

Ctrl+wk 移动到上面的窗口

关闭窗口

:close 最终贰个窗口不能使用此命令,可以幸免意外退出vim。

:q 要是是最终一个被关闭的窗口,那么将脱离vim。

ZZ 保存并退出。

关闭全数窗口,只保留当前窗口

:only

录制宏

按q键加任性字母最早录像,再按q键甘休摄像(那代表vim中的宏不可嵌套),使用的时候@加宏名,比方qa。。。q摄像名称叫a的宏,@a使用那么些宏。

分开命令

例行方式下按v(逐字)或V(逐行)步向可视格局,然后用jklh命令移动就可以选用一些行或字符,再按d就可以剪切

ndd 剪切当前行今后的n行。利用p命令能够对私分的剧情开展粘贴

:1,10d 将1-10行区划。利用p命令可将分开后的源委张开粘贴。

:1, 10 m 20 将第1-10行活动到第20行之后。

执行shell命令

:!command

:!ls 列出当前目录下文件

:!perl -c script.pl 检查perl脚本语法,能够不用退出vim,非常有利。

:!perl script.pl 实行perl脚本,能够不用退出vim,非常有助于。

:suspend或Ctrl - Z 挂起vim,回到shell,按fg能够再次来到vim。

退出命令

:wq 保存并脱离

ZZ 保存并退出

:q! 强制退出并忽略全体更动

:e! 舍弃具备修改,并开荒原本文件。

疏解命令

perl程序中#开班的行为注释,所以要讲授有些行,只需在行首参预#

3,5 s/^/#/g 注释第3-5行

3,5 s/^#//g 解除3-5行的注释

1,$ s/^/#/g 注释整个文书档案。

:%s/^/#/g 注释整个文书档案,此法越来越快。

窗口命令

:split或new 展开八个新窗口,光标停在顶层的窗口上

:split file或:new file 用新窗口展开文件

split展开的窗口都是横向的,使用vsplit能够纵向展开窗口。

Ctrl+ww 移动到下二个窗口

Ctrl+wj 移动到凡尘的窗口

Ctrl+wk 移动到上面包车型地铁窗口

关闭窗口

:close 最终三个窗口无法应用此命令,能够制止意外退出vim。

:q 固然是最后三个被关门的窗口,那么将脱离vim。

ZZ 保存并脱离。

关门全体窗口,只保留当前窗口

:only

录制宏

按q键加自便字母起首摄像,再按q键截止摄像(那表示vim中的宏不可嵌套),使用的时候@加宏名,例如qa。。。q录像名称叫a的宏,@a使用这几个宏。

扶助命令

:help or F1 呈现任何赞助
:help xxx 显示xxx的帮助,比如 :help i, :help CTRL-[(即Ctrl+[的帮助)。
:help 'number' Vim选项的协助用单引号括起
:help <Esc> 特殊键的帮手用<>扩起
:help -t Vim运转参数的帮带用-
:help i_<Esc> 插入方式下Esc的协理,某些格局下的扶助用情势_主旨的情势
辅助文件中位居||之间的内容是超链接,能够用Ctrl+]进去链接,Ctrl+o重返

执行shell命令

:!command

:!ls 列出当前目录下文件

:!perl -c script.pl 检查perl脚本语法,可以不用退出vim,特别便利。

:!perl script.pl 实行perl脚本,能够不用退出vim,特别有益。

:suspend或Ctrl - Z 挂起vim,回到shell,按fg可以回来vim。

任何非编辑命令

. 重复前三次命令

:set ruler?  查看是不是设置了ruler,在.vimrc中,使用set命令设制的选项都得以通过那些命令查看

:scriptnames  查看vim脚本文件的岗位,譬如.vimrc文件,语阿拉伯语件及plugin等。

:set list 显示非打印字符,如tab,空格,行尾等。假若tab不可能展现,请明确用set lcs=tab:>-命令设置了.vimrc文件,并保管您的公文中的确有tab,假若张开了expendtab,那么tab将被扩展为空格。

Vim教程

在Unix系统上
$ vimtutor
在Windows系统上
:help tutor
:syntax 列出曾经定义的语法项
:syntax clear 清除已定义的语法则则
:syntax case match 大小写敏感,int和Int将视为分裂的语法成分
:syntax case ignore 大小写毫不相关,int和Int将视为等同的语法成分,并应用同一的配色方案

注解命令

perl程序中#千帆竞发的行事注释,所以要解说某个行,只需在行首参加#

3,5 s/^/#/g 注释第3-5行

3,5 s/^#//g 解除3-5行的注释

1,$ s/^/#/g 注释整个文书档案。

:%s/^/#/g 注释整个文书档案,此法越来越快。

协助命令

:help or F1 展现整个赞助
:help xxx 显示xxx的帮助,比如 :help i, :help CTRL-[(即Ctrl+[的帮助)。
:help 'number' Vim选项的赞助用单引号括起
:help <Esc> 特殊键的支持用<>扩起
:help -t Vim运转参数的扶持用-
:help i_<Esc> 插入情势下Esc的佑助,有个别情势下的鼎力相助用方式_大旨的情势
补助文件中位居||之间的从头到尾的经过是超链接,能够用Ctrl+]进去链接,Ctrl+o(Ctrl

  • t)返回

另外非编辑命令

. 重复前贰次命令

:set ruler?  查看是或不是设置了ruler,在.vimrc中,使用set命令设制的选项都得以透过那个命令查看

:scriptnames  查看vim脚本文件的职位,比方.vimrc文件,语克罗地亚(Croatia)语件及plugin等。

:set list 显示非打字与印刷字符,如tab,空格,行尾等。要是tab不能出示,请鲜明用set lcs=tab:>-命令设置了.vimrc文件,并保障您的文书中真正有tab,若是展开了expendtab,那么tab将被扩充为空格。

Vim教程
在Unix系统上
$ vimtutor
在Windows系统上
:help tutor

:syntax 列出曾经定义的语法项
:syntax clear 清除已定义的语准则则
:syntax case match 大小写敏感,int和Int将视为分歧的语法成分
:syntax case ignore 大小写非亲非故,int和Int将视为等同的语法成分,并接纳同样的配色方案

 

编辑: 操作系统 本文来源:vim文本编辑器

关键词: