AI智能
改变未来

linux 文本编辑工具vim

Vim的三种工作模式
使用Vim编辑文件时,存在三种工作模式,分别是普通模式、输入模式和命令模式,这三种工作模式可随意切换。

普通模式
在普通模式中,可以使用上下左右移动光标,并且可以对文件内容进行复制、粘贴、替换、删除等操作,但是不能通过输入的方式修改文件内容。
使用 vim 文件名 的命令可以进入Vim,这时就处于普通模式。

输入模式
在输入模式下,Vim可以对文件执行写操作,类似于在Windows系统的文档中输入内容。
使Vim进行输入模式的方式是在命令模式状态下输入i、I、a、A、o、O等插入命令,当编辑文件完成后按Esc键即可返回命令模式。

命令模式
在命令模式下,可以对文件中的指定内容执行保存、查找或替换等操作。
使Vim切换到命令模式的方法是在命令模式状态下按“:”键,此时Vim窗口的左下方出现一个“:”符号,这时就可以输入相关指令进行操作了。指令执行后Vim会自动返回普通模式,如想直接返回普通模式,按Esc即可

什么是Vim
Vim是一个基于文本界面的编辑工具,使用简单且功能强大。更重要的是,Vim是所有Linux发行版本默认的文本编辑器。
很多人习惯将Vim称为Vi,其实Vim是Vi的增强版(在Vi的基础上增加了正则表达式的查找、多窗口的编辑等功能),使用Vim进行程序开发会更加方便。

安装Vim文本编辑器
众多Linux发行版系统,通常都已经默认安装好了Vi或Vim文本编辑器,Centos也不例外,该系统就默认安装有Vi文本编辑器,但建议大家使用Vim。

查看是否安装了Vim文本编辑器
在命令行模式下输入“vim”,输出结果为“Command not found”,或者是“未找到命令”,则表示此系统中未安装Vim:
1 [root@chenyi~]# vim
2 -bash: vim: 未找到命令
说明没有安装Vim。

如何安装vim编辑器
直接用命令安装 # yum install -y vim
此时在命令行中输入vim,出现下面的结果时,表示安装成功:

按键说明

进入普通模式
刚打开文件时Vim处于普通模式,在普通模式中,下方会显示文件的一些信息,包括文件的总行数和字符数,以及当前光标所在的位置等。

可以使用以下方式打开文件:

1 vim filename:打开或新建一个文件,并将光标置于第一行的首部。
2 vim -r filename:恢复上次Vim打开时崩溃的文件。
3 vim -R filename:把指定的文件以只读方式放入Vim编辑器中。
4 vim + filename:打开文件,并将光标置于最后一行的首部。
5 vim +n filename:打开文件,并将光标置于第n行的首部。

普通模式
移动光标用到的命令:
1 h或←:游标向左移动一个字。
2 j或↓:游标向下移动一个字。
3 k或↑:游标向上移动一个字。
4 l或→:游标向右移动一个字。
5 [Ctrl]f:屏幕向下移动一页,相当于PageDown按键。
6 [Ctrl]b:屏幕向上移动一页,相当于PageUp按键。
7 [Ctrl]d:屏幕向下移动半页。
8 [Ctrl]u:屏幕向上移动半页。
9 +:游标移动到非空白字元的下一列。
10 -:游标移动到非空白字元的上一列。
11 n[Space]:n为数字,向右移动n个字。
12 0或[Home]:移动到这一行的最前面的字。
13 $或[End]:移动到这一行的最后面的字。
14G:移动到最后一行。
15 nG:n为数字,移动到第n行。
16 gg:移动到第一行。
17 n[Enter]:n为数字,游标向下移动n行.

查询和替换用到的命令:

1 /word:向下寻找word字符串。
2 ?word:向上寻找word字符串。
3 n:n是英文按键,表示按上一个搜索方向搜索下一个。
4 N:N是英文按键。与n刚好相反,表示按上一个搜索方向的反方向搜索下一个。
5 :n1,n2s/word1/word2/g:n1和n2为数字。在第n1行到第n2行之间查询word1字符串,并将该字串取代为word2。
6 :1,s/word1/word2/g:从第一行到最后一行查询word1字符串,并将该字串取代为word2。7:1,s/word1/word2/g:从第一行到最后一行查询word1字符串,并将该字串取代为word2。7 :1,s/word1/word2/g:从第一行到最后一行查询word1字符串,并将该字串取代为word2。7:1,s/word1/word2/gc:从第一行到最后一行查询word1字符串,并将该字串取代为word2。且在替换前进行询问。

复制粘贴用到的命令:

1 、x或X:x表示删除当前光标所在的一个字,相当于[del]按键,X表示向前删除一个字,相当于[backspace]按键。
2 、nx:n为数字,连续向后删除n个字。
3 、dd:删除光标所在的一行。
4 、ndd:n为数字,删除光标所在的向下n行。
5 、d1G:删除光标所在的行到第一行。
6 、dG:删除光标所在的行到最后一行。
7 、d:删除光标所在的位置到该行的最后一个字。8、d0:删除光标所在的位置到该行的第一个字。9、yy:复制光标所在的那一行。10、nyy:n为数字。复制光标所在的向下n行。11、y1G:复制光标所在的行到第一行。12、yG:复制光标所在的行到最后一行。13、y:删除光标所在的位置到该行的最后一个字。8 、d0:删除光标所在的位置到该行的第一个字。9 、yy:复制光标所在的那一行。10 、nyy:n为数字。复制光标所在的向下n行。11 、y1G:复制光标所在的行到第一行。12 、yG:复制光标所在的行到最后一行。13 、y:删除光标所在的位置到该行的最后一个字。8、d0:删除光标所在的位置到该行的第一个字。9、yy:复制光标所在的那一行。10、nyy:n为数字。复制光标所在的向下n行。11、y1G:复制光标所在的行到第一行。12、yG:复制光标所在的行到最后一行。13、y:复制光标所在的位置到该行的最后一个字。
14 、y0:复制光标所在的位置到该行的第一个字。
15 、p或P:p表示从光标的下一行开始粘贴,P表示从光标所在行开始粘贴。
16 、J:将光标所在行与下一行合成一行。
17 、u:复原前一个动作。
18 、[Ctrl]r:重做上一个动作。
19 、.:小数点,表示重复前一个动作。

输入模式
从普通模式切换到输入模式:

1、 i:在当前光标所在位置插入文本,当前光标所在位置的文本向右移动。
2 、I:在光标所在行的行首插入文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行i命令。
3 、o:在光标所在行的下面插入新的一行。光标停在空行的行首,等待输入文本。
4 、O:在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本。
5 、a:在当前光标所在位置之后插入文本。
6 、A:在光标所在行的行尾插入文本,相当于光标移动到行尾执行a命令。

命令模式
从普通模式切换到命令模式:

1 、:w:保存修改。若为:w!则表示强制保存。
2 、:q:退出Vim编辑器。若为:q!则表示不保存强制退出Vim编辑器。
3 、:wq:保存并退出,若为:wq!则表示强制保存并退出。
4 、ZZ:如果没有改动则退出,如果修改过则保存后退出。
5 、:w filename:将文件内容保存到指定文件。
6 、:r filename:将指定文件的内容插入到游标所在行后面。
7 、:n1,n2 w filename:将n1到n2的内容保存到指定文件。
8 、:! command:暂时离开Vim编辑器执行command的显示结果。

设置
1 、:set nu:显示行号。
2 、:set nonu:取消显示行号。
3、set ic :忽略大小写
4、set noic:区分大小写
5、set ai: 设置自动缩进
6、set noai:取消自动缩进
7、set hlsearch: 高亮显示查找到的内容
8、set nohlsearh:取消高亮显示
9、syntax on: 打开语法高亮显示
10、syntax off:关闭语法高亮显示

打开vim文件时定位光标
1、vim +10 filename 打开文件后光标定位到文件第十行
2、vim +/root passwd 定位上一次保存时光标所在位置的下一个root所在行

vim配置文件
全局vim配置文件:/etc/vimrc
个人vim配置文件:~/.vimrc

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » linux 文本编辑工具vim