• 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:取消显示行号。
  • 相关阅读:
    zr#955 折纸
    zr#954 分组
    p2513 [HAOI2009]逆序对数列
    p4161 [SCOI2009]游戏
    p4593 [TJOI2018]教科书般的亵渎
    622FThe Sum of the k-th Powers
    spoj1811 LCS
    后缀自动机
    p5342 [TJOI2019]甲苯先生的线段树
    p5339 [TJOI2019]唱、跳、rap和篮球
  • 原文地址:https://www.cnblogs.com/shamao/p/11163993.html
Copyright © 2020-2023  润新知