vim编辑器

今天我将vim编辑器的学习心得和大家一起分享,请大家多多指点

文本编辑器有很多,今天我们学习Linux系统默认自带的编辑器是vim文本编辑器

Vim:Visual iMproved是编辑器Visual Interface的增强版,在使用编辑脚本时会有高亮颜色提示关键字符,使得我们的脚本编辑更加方便的排错,下面我们具体说明vim编辑器的使用

Vim编辑器是编辑纯ASCII码文本,全屏、模式化编辑器,vim有三种编辑模式,分别是:

命令模式,此时可以在文本中移动光标来查看文本内容,可以复制,粘贴,删除文件内容等操作

输入模式,此时可以进行文件内容的编辑,添加,删除等操作

末行模式,此时可以进行除了编辑命令以外的管理命令,如读取另外一个文件的内容进来,文件重命名等操作

 

 

一、三个模式之间可以相互切换;用户使用vim进入文件时,默认的模式是编辑模式,此时按编辑开关进入输入模式,这些编辑开关有:

i  进入输入模式,在当前光标所在字符的前面开始插入字符

I  进入输入模式,在当前光标所在行的行首开始插入字符

a  进入输入模式,在当前光标所在字符的后面插入字符

A  进入输入模式,在当前光标所在行的行尾插入字符

o  在当前光标所在行的下面添加一行,并进入输入模式

O  在当前光标所在行的上面添加一行,并进入输入模式

由输入模式退出到命令模式只需按ESC键即可,而输入模式和末行模式之间不可以直接进行交换,必须先进入命令模式,然后再进行切换

由命令模式进入末行模式只须按“:”键即可,在末行模式下可以进行基本文件管理操作,如关闭正编辑的文件

:w  保存,此时只保存并不退出

:w!  强制保存

:q  退出,此时只有在没有更改过文件内容时可以使用

:q!  不保存且强制退出

:wq  保存退出

:x  保存退出

ZZ  在命令模式下保存退出

退出末行模式进入命令模式只需按ESC键即可

 

 

二、在vim编辑器中移动光标:

1.逐个字符移动光标:

nh  将光标向左移动n个字符,1h可以省略1

nj  将光标向下移动n个字符

nk  将光标向上移动n个字符

nl  将光标向右移动n个字符

2.逐个单词移动光标:

nw  将光标移动到当前单词首部,或将光标移动到后n个单词的词首

ne  将光标移动到当前单词尾部,或将光标移动到前n个单词的词尾

nb  将光标移动到当前单词首部,或将光标移动到前n个单词的词首

0   将光标移动的当前所在行的行首,绝对行首

^   将光标移动到当前所在行的第一个非空白字符下边

$   将光标移动到当前所在行的行尾,绝对行尾

3.按行移动光标:

nG  将光标移动到文件第n行的行首

gg  将光标直接移动到文件第一行的行首

G  将光标直接移动到文件最后一行行首

:n  在命令模式下将光标移动到文件第n行行首

4.按段移动光标:

{  将光标移动到当前所在句的上一段第一个单词的词首

}  将光标移动到当前所在句的下一段第一个单词的词首

 

 

三、翻屏查看文件内容,显示文件内容行号:

Ctrl+f == pgdn:将文件内容向下翻一屏

Ctrl+d 将文件内容向下翻半屏

Ctrl+b == pgup:将文件内容向上翻一屏

Ctrl+u 将文件内容向上翻半屏

在末行模式下输入“:set nu”文件内容添加行号,并不更改文件元数据,只是方便查看

取消行号的显示,在末行模式下输入:set nonu

 

 

四、复制,粘贴,剪切,删除,修改,撤销更改:

nyw  从光标所在位置开始及向后复制n个单词

nyy  从光标所在行开始向下复制n行

p    如果复制或删除的是整行内容,将复制或删除的内容粘贴在光标所在行的下边

如果复制或删除的不是整行内容,则将复制或删除的内容粘贴在光标所在位置的后边

P    如果复制或删除的是整行内容,将复制或删除的内容粘贴在光标所在行的上边

如果复制或删除的不是整行内容,则将复制或删除的内容粘贴在光标的前边

Linux中vim编辑器删除的内容并不会立即被清除,而是存储到缓冲区中,以方便文 件内容的剪切,但必须相连操作

ndw  删除光标所在位置及向后n个单词

ndd  删除光标所在行及向下n行

d0   删除从光标所在位置到行首的内容

d$   删除从光标所在位置到行尾的内容

n,md  删除从第n行到第m行的内容

:n,+md  在末行模式下删除从第n行及以下m行的内容;此时点表示当前行,$表示最后 一行,+m表示向下m行,$-1表示倒数第2行

ncw  先删除从光标所在单词及后面共n个单词,然后进入输入模式

ncc  先删除光标所在位置及下边n行内容,然后进入输入模式

nc0  先删除从光标所在位置到行首的内容,然后进入输入模式

nc$  先删除从光标所在为位置到行尾的内容,然后进入输入模式

s    先删除光标所在位置的单个字符,然后进入输入模式,不支持同时删除多个

u  undo  撤销上一次对文本内容的操作,可以多次撤销,最多可以撤销50次

nu  撤销前n次对文本内容的操作

U   撤销对光标所在行内容的所有操作

Ctrl+r  恢复上次撤销操作

“.”   点表示重复上一次编辑操作

 

 

五、查找,替换,多项内容选取:

在末行模式下输入/PATTERN,从文件首部开始全文查找内容PATTERN

?PATTERN,从文件尾部开始全文查找内容PATTERN

n查看下一个查找到的内容,N查看上一个

查找内容支持正则表达式,如

:2,4s/word/world/g,在文件第二行到第四行中查找单词world,并全部更换为world

%表示全文

V,v进入可视化模式,VISUAL

V:从光标所在位置开始进行行选取,然后对选中内容进行操作编辑

v:从光标所在位置开始进行字符选取,然后对选中内容进行操作编辑

 

 

六、文件内容另存为,读取别的文件内容到当前文本:

:w /tmp/filename  将当前编辑的文本另存为/tmp/filename,并不退出

:wq /tmp/filename  将当前编辑的文本另存为/tmp/filename,并推出编辑器

:addr1,addr2w /tmp/filename2  将文件addr1和addr2中的内容保存到tmp下,并命名为filename2

:r /etc/inittab  读取文件inittab中的内容到当前文件中,并粘贴在光标所在行的下边

 

 

七、同时打开多个文件进行编辑,分屏显示文件内容:

vim file1 file2......   同时编辑文件file1,file2等,但vim是全屏编辑,所以只显示第一个文件,我们可以在多个文件之间进行切换

:files  查看当前共打开了多少个文件

:n、next  跳转到当前编辑文件的下一个文件,如果当前文件做了更改,则需要先保存当前文件,然后才可以跳转到下一个文件

:N、prev  跳转到当前编辑文件的上一个文件

:last  跳转到所有文件的最后一个文件

:first  跳转到所有文件的第一个文件

:qa  全部退出,关闭所有编辑窗口

  我们有的时候需要看着上边的文件在下边进行编辑,所以需要进行窗口拆分来显示文件内容

Ctrl+w,s   水平拆分当前文件显示窗口,ctrl+w进行选择,方向键可以进行窗口之间的切换

Ctrl+w,v   垂直拆分当前文件显示窗口

vim -o file1 file2  水平拆分窗口显示file1和file2,ctrl+w进行窗口间的切换

vim -O file1 file2  水平拆分窗口显示file1和file2

 

 

八、和shell进行交互:

  此时不用退出,直接在末行模式下输入command即可,执行完之后按回车键即可回到vim编辑器

:!command   enter键返回vim编辑器

 

 

九、vim高级管理及其配置文件:

设定vim的当前编辑环境,仅对当前vim进程有效,退出则设定作废

:set ic  忽略大小写,此时在使用查找文本和命令补全时非常方便

:set noic  取消忽略大小写

:set ai  设定编辑时文本进行自动行缩进

:set noai  取消行缩进

:set hlsearch  查找文本时以高亮颜色显示查找到的文本

:set nohlsearch  取消高亮显示

:syntax on  开启脚本编辑时的语法高亮

:syntax off  关闭语法高亮

  Vim编辑器的全局配置文件存放在/etc/vimrc中,这个文件的编辑对全局用户都有效

用户自己家目录下的 ~/.vimrc中的配置只对用户自己有效,而用户家目录中的vim配置文件可能不存在,我们只需创建编辑即可,切记编辑为隐藏文件

 

 

当我们使用vim编辑器编辑文件非正常退出时,系统会自动保存一个同名的隐藏文件,在下次登录时会提示用户操作,如编辑inittab时,强行禁止vim进程,则系统会自动保存一个.inittab.swp文件,里边保存的是用户这次对文件inittab的修改

下次登录时的操作提示一般会有六个,分别是

Open read-only :以只读方式打开此文件,当你只是想查看次文件而并不想编辑时

Edit anyway:以正常方式打开此文件,不载入暂存档的内容,容易出现错误,不建议使用

Recovered:载入暂存档的内容,显示之前更改过的文件

Delete it:将此文件删除,如果确定此文件没有用时,可以删除

Quit:退出vim编辑器

Abort:忽略此编辑行为

 

vimtutor,Linux操作系统中自带的vim使用教程,非常详细,初学者可以阅读学习;直接在命令行输入vimtutor即可查看vim的详细使用说明

你可能感兴趣的:(vim)