Linux文本文件——文本编辑器Vim
linux文本文件——文本编辑器vim
摘要:本文主要学习在linux系统中使用vim文本编辑器编辑文本。
什么是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@localhost ~]# vim 2 -bash: vim: 未找到命令 3 [root@localhost ~]#
说明没有安装vim。
安装vim文本编辑器
centos系统中,使用如下命令即可安装vim:
1 yum install -y vim
安装过程如下:
1 已安装: 2 vim-enhanced.x86_64 2:7.4.160-6.el7_6 3 4 作为依赖被安装: 5 gpm-libs.x86_64 0:1.20.7-5.el7 perl.x86_64 4:5.16.3-294.el7_6 perl-carp.noarch 0:1.26-244.el7 6 perl-encode.x86_64 0:2.51-7.el7 perl-exporter.noarch 0:5.68-3.el7 perl-file-path.noarch 0:2.09-2.el7 7 perl-file-temp.noarch 0:0.23.01-3.el7 perl-filter.x86_64 0:1.49-3.el7 perl-getopt-long.noarch 0:2.40-3.el7 8 perl-http-tiny.noarch 0:0.033-3.el7 perl-pathtools.x86_64 0:3.40-5.el7 perl-pod-escapes.noarch 1:1.04-294.el7_6 9 perl-pod-perldoc.noarch 0:3.20-4.el7 perl-pod-simple.noarch 1:3.28-4.el7 perl-pod-usage.noarch 0:1.63-3.el7 10 perl-scalar-list-utils.x86_64 0:1.27-248.el7 perl-socket.x86_64 0:2.010-4.el7 perl-storable.x86_64 0:2.45-3.el7 11 perl-text-parsewords.noarch 0:3.29-4.el7 perl-time-hires.x86_64 4:1.9725-3.el7 perl-time-local.noarch 0:1.2300-2.el7 12 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-294.el7_6 perl-macros.x86_64 4:5.16.3-294.el7_6 13 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7 14 perl-threads-shared.x86_64 0:1.43-6.el7 vim-common.x86_64 2:7.4.160-6.el7_6 vim-filesystem.x86_64 2:7.4.160-6.el7_6 15 16 完毕! 17 [root@localhost ~]#
测试
此时在命令行中输入vim,出现下面的结果时,表示安装成功:
1 ~ 2 ~ 3 ~ 4 ~ 5 ~ 6 ~ 7 ~ 8 ~ 9 ~ 10 ~ 11 ~ vim - vi improved 12 ~ 13 ~ 版本 7.4.1099 14 ~ 维护人 bram moolenaar 等 15 ~ 修改者 <bugzilla@redhat.com> 16 ~ vim 是可*分发的开放源代码软件 17 ~ 18 ~ 成为 vim 的注册用户! 19 ~ 输入 :help register<enter> 查看说明 20 ~ 21 ~ 输入 :q<enter> 退出 22 ~ 输入 :help<enter> 或 <f1> 查看在线帮助 23 ~ 输入 :help version7<enter> 查看版本信息 24 ~ 25 ~ 26 ~ 27 ~ 28 ~ 29 ~ 30 ~ 31 ~ 32 ~ 33 ~ 34 0,0-1 全部
输入 :q 返回命令行界面。
vim的三种工作模式
使用vim编辑文件时,存在三种工作模式,分别是普通模式、输入模式和命令模式,这三种工作模式可随意切换。
普通模式
在普通模式中,可以使用上下左右移动光标,并且可以对文件内容进行复制、粘贴、替换、删除等操作,但是不能通过输入的方式修改文件内容。
使用 vim 文件名 的命令可以进入vim,这时就处于普通模式。
输入模式
在输入模式下,vim可以对文件执行写操作,类似于在windows系统的文档中输入内容。
使vim进行输入模式的方式是在命令模式状态下输入i、i、a、a、o、o等插入命令,当编辑文件完成后按esc键即可返回命令模式。
命令模式
在命令模式下,可以对文件中的指定内容执行保存、查找或替换等操作。
使vim切换到命令模式的方法是在命令模式状态下按“:”键,此时vim窗口的左下方出现一个“:”符号,这时就可以输入相关指令进行操作了。指令执行后vim会自动返回普通模式,如想直接返回普通模式,按esc即可。
按键说明
进入普通模式
刚打开文件时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]:移动到这一行的最后面的字。 14 h:游标移动到最上方一行的第一个字。 15 m:游标移动到中间一行的第一个字。 16 l:游标移动到最下方一行的第一个字。 17 g:移动到最后一行。 18 ng:n为数字,移动到第n行。 19 gg:移动到第一行。 20 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/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$:复制光标所在的位置到该行的最后一个字。 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:取消显示行号。
上一篇: 清淡米粉汤怎么做好吃又营养