; VIM文本编辑器 | Linux运维部落

VIM文本编辑器

一)、VIVIM

vimIMproved)编辑器是vivisual interface)编辑器的增强版,它是Linux系统编辑文本文件重要的工具之一,也是最基础的编辑工具。它可以执行输出、删除、查找、替换、块操作等众多文本操作。 



基本操作


二)、VIM基本操作。

1)、使用vim打开一个文件:

#vim [option]... [FILE]...

 

2)、直接输入VIM可查看当前版本及信息:

#vim

1.jpg

#vim +# file

打开文件时光标直接处于第#行行首。 



 

三)、模式化编辑器:

1)、主要模式:

编辑模式(command mode):用vim打开文件时的默认模式,进行键盘操作,可以移动光标,复制、粘贴、删除等操作。

输入模式(Insert mode):对文件进行编辑和修改。

末行模式 last line mode):vim内置的命令行接口,执行vim的内置命令。

 

2)、模式转换:

编辑模式à输入模式:

i在光标所在处的前方转换为输入模式。

I:光标移至行首切换为输入模式。

a在光标所在的后方转换为输入模式。

A:光标移至行尾切换为输入模式。

o在光标所在行的下方新建一个空行并转换为输入模式。

O:在光标所在行的上方新建一个空白行并转换为输入模式。

s:删除光标所在处字符,并进入插入模式

S:删除光标所在的行,并进入插入模式

 

输入模式à编辑模式

ESC

 

编辑模式à末行模式

:

 

末行模式à编辑模式

ESC

 

输入à编辑à末行

 


四)、保存退出文件:

1)、在末行模式下:

q:退出文件。

q!: 不保存退出。

w:写入。

w!:若文件为只读,强制写入。

wq:保存退出。

x:保存退出。

wq!:强制保存并退出。

w  newfilename:写入到一个新文件中

e!:放弃文件修改,从上次保存的位置重新编辑。

 

2)、在编辑模式下:

ZZ:保存退出。



编辑模式


 

五)、光标移动:

1)、字符间移动:

k:上一行。

j:下一行。

h:左一字符。

l:右一字符。

#{h|j|k|l}:跳#个字符或行。

 

2)、单词间移动:

w:下一个单词词首。

e:当前单词或下一个单词词尾。

b:当前单词或前一个单词词首。

#{w|e|b}:#个单词。

 

3)、行内移动:

^:行首第一个非空白字符。

0:绝对行首。

$:绝对行尾。

 

4)、句子间移动:

):下一句句首。

(:上一句句首。

 

5)、段落间移动:

}:下一段段首。

{:下一段段首。

 

6)、行间移动:

G:跳转至最后一行。

#G: 跳转至第#行。

gg:跳转至首行。

H:跳转至屏幕顶行

#H:跳转至屏幕顶行下第#行。

M:跳转至屏幕的中间一行

#L:跳转至屏幕底行上第#行。

#[Enter]:光标向下移动#行。

 

7)、翻屏:

Ctrl+f:向文件尾部翻一屏。

Ctrl+b:向文件首部翻一屏。

Ctrl+d:向文件尾部翻半屏。

Ctrl+u:向文件首部翻半屏。

Ctrl+y:向文件尾部翻一行

Ctrl+e:向文件首部翻一行。

 



 六)、编辑命令:

1)、删除:

x:删除光标所在处的字符。

X:删除光标所在处前一个字符。

#{x|X}:删除光标所在处{|}#个字符。

 

d:结合光标跳转字符使用,删除跳转范围内的字符。

d#{w|b|e}:删除单词。

d{$|0|^}:删除光标所在位置至行{|}

D|d$删除光标所在位置至行尾。

d#G:删除光标所在位置至第#行。

dG:删除光标所在位置至最后一行。

#dd从光标所在行开始删除#行。

 

注意:最后一次删除的内容会被保存至缓冲区。

 

2)、复制:

yyank

结合光标跳转字符使用,复制跳转范围内的字符。

y#{w|b|e}:复制单词。

y{$|0|^}:复制光标至行{|}

#{Y|yy}复制光标所在位置后#行。

yG:复制光标所位置到最后一行。

y#G:复制光标所位置到第#行。

 

3)、粘贴:

ppaste

粘贴的位置取决于最后一次删除或复制操作的级别。

行级别:

p:粘贴于当前行下方。

P:粘贴于当前行上方。

 

小于行级别:

p:粘贴于当前光标所在处的后方。

P:粘贴于当前光标所在处的前方。

 

4)、修改:

cchange

先删除,再转换为输入模式:

结合光标跳转字符使用,修改跳转范围内的字符。

c{w|b|e}:删除单词并转换为输入模式。

c{$|0|^}:删除光标位置至行{|}并转换为输入模式。

C|c$删除光标所在位置至行尾并转换为输入模式

c#G:删除光标所在位置至第#并转换为输入模式

cG:删除光标所在位置至最后一行并转换为输入模式

#cc从光标所在行开始删除#并转换为输入模式

 

5)、撤消编辑:

uundo

#u:撤消最近的#次操作,最多50次。

 

撤消此前的撤消操作:

Ctrl+r

 

重复前一条命令:

.

 



末行模式


 

七)、内容界定:

1)、 行间跳转:

.:当前行

#:第#

$:最后一行

$-#:倒数第#行。

 

2)、内容界定和操作:

m,n:界定第m行至第n行。

.,#:当前光标所在行到第#行。

#,$:第#行至最后一行。

.,$:当前光标所在行到最后一行。

%|1,$:界定全文。

 

 cdy等命令可以直接附加在地址范围后使用,对选定范围进行删除、复制等操作。

 

w /path/to/somefil:将选定范围内的内容保存至某文件中。

r /path/from/somefile:将指定的文件中的内容读取到指定位置。

 

八)、文本查找:

1)、字符查找:

用法同less命令:

/pattern:向下查找匹配的字符串。

?pattern:向上查找匹配的字符串。

 

n: 重复前一个查找的操作。如果使用/进行查找,则n表示向下查找,如果使用?进行查找,则n表示向上查找。

N: n相反,表示与前一个查找进行反向操作。

 

2)、文本替换:

s/查找模式/要替换成的内容/gic

查找模式:可以使用正则表达式。

要替换成的内容:不能使用模式,仅能使用引用。

 

 g:global,全行替换;如果不使用g,查找的字符所在行中存在不止一个匹配项时,只替换第一个。

i:ignore case,不区分字符大小写。

c:替换前提示用户确认是否替换,常与g同时使用。

 



其他模式


 

九)、其他模式:

1)、可视化模式:

用于选取整块范围的模式

在编辑模式下:

v:光标走过的字符。

V:光标走过的行。

Ctrl+v:以长方形的方式进行选择

cdy等命令可以直接使用,对选定范围进行删除、复制等操作。

 

2)、多文件模式:

可以同时打开多个文件,并在各个文件中进行切换

#vim FILE1 FILE2...

在末行模式下:

n|next:下一个文件。

N|previous:上一个文件。

first:第一个文件。

last:最后一个文件。

wa|wall:保存所有文件。

qa|qall:退出所有文件。

wqa|wqall:保存并退出所有文件。

 

3)、多窗口模式:

多窗口编辑操作:

 Ctrl+w, Arrow:窗口间切换。

 

单文件分割:

Ctrl+w,s:水平分割。

Ctrl+w,v:垂直分割。

 

多文件分割:

#vim -{o|O} FILE1 FILE2...

-o: 水平分割。

-O: 垂直分割。

 



属性和配置文件


 

十)、窗口属性定义:

1)、命令:

在末行模式下输入设置命令:

set:显示与系统默认值不同的设置参数,一般就是用户改动过的设置。

set all:显示目前所有环境参数设置值。

set nu|nonu :显示行号;默认关闭。

set ai|noai :自动缩进;设置了此选项后,换行时光标会自动对齐上面行的行首位置,而不会回到绝对行首;默认关闭。

set ic|noic :忽略大小写;设置此项后,在查找字符时会忽略大小,默认关闭

set sm|nosm :显示括号;设置此选项后,光标移至括号时,自动高亮显示与之匹配的另一半括号;默认开启。

set hlsearch|nohlsearch :搜索高亮显示;搜索字符时,会自动高亮标识所有的匹配字符,此选项会默认开启,并且即使关闭了当前文件,再次打开其它文件时也会高亮标识之前的搜索结果。

syntax on|off :语法高亮显示控制可以帮忙用户标识语法结构,查找语法错误。

 

2)、配置文件:

可将属性命令写在配置文件中设置vim默认属性,注释使用双引号。

        全局配置文件:/etc/vimrc

        用户配置文件:~/vimrc

原创文章,作者:Chencer(马申),如若转载,请注明出处:/4829

评论列表(1条)

  • stanley
    stanley 2015-05-28 09:40

    内容详实,只是样式上乱了些,可先预览效果后再提审

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1660809109@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达主管  万达开户  万达招商QQ  万达娱乐招商  万达招商  测试  华宇招商  万达娱乐直属  万达主管QQ  万达登录