• 16、自学——Linux的学习进度与任务【vim编辑器及文件测试】


    vim编辑器及文件测试

    vim编辑器

        在Linux中,使用文本文件来保存配置文件

        1、几种基本的模式:

              命令模式:键盘上输入的任何字符都作为编辑命令来解释:

                            命令包括编辑保存,移动光标,页面滚动,字符,字或行的删除、移动、复制。

                            (命令方式下的所有命令并不在屏幕上显示出来,也不需要按Enter键确认命令执行)

                            不管用户处于何种工作模式下,按Esc键就可以使vim进入命令模式
              插入模式:只能在该模式下进行文本输入,且输入的任何字符都会被vim当做文件内容保存起来,并将其显示在屏幕上
              末行模式:vim的内置的命令行接口,执行vim内置命令

                  在这三种工作模式之间进行切换就可以实现文本编辑的功能

                    末行命令执行时需要按Enter键确认,执行完毕自动回到命令模式

         2、模式之间的切换:

              命令模式-->插入模式(从编辑模式进入到输入模式

                i:当前光标所在处输入内容
                I: 在当前光标所在行的行首

                a:在当前光标所在处的后面
                A:在当前光标所在行的行尾输入

                o:在光标所在行的下方新增一行空白行输入
                O:在光标所在行的上方新增一行空白行输入

              插入模式-->命令模式(从输入模式进入编辑模式

                ESC

              命令模式-->末行模式(末行模式只能从编辑模式进入

                 :

              末行模式-->命令模式(末行模式进入编辑模式)

                ESC,ESC(连按两次)

     

        3、vim命令的使用格式

             vim [options] /path/to/file...

                退出:(一般在末行模式下进行
                  :q!强制退出,不保存并退出(中间没有空格)【命令之间没有空格】
                  :wq 保存修改并退出
                  :x,保存并退出

                编辑模式下的退出
                编辑模式:ZZ,保存退出

                打开:(一次可以打开多个);然后在末行模式下进行切换,
                    多文件跳转
                      :next 下一个
                      :prev 上一个
                      :first 第一个
                      :last 最后一个
                      :qall 退出所有的文件
                      :wqall 修改并退出多个文件

                分隔窗口打开多个文件:
                      -o:水平分隔
                        ctrl+w,左右箭头
                        进入下面的窗口:Ctrl+w,向下的箭头

                      -O:垂直分隔
                        ctrl+w,上下箭头
                        进入右边的窗口 Ctrl+w,向右的箭头

                      +[#]:打开文件后在第#号行首
                      +:打开文件后在最后一行
                光标移动:
                  单字符移动:
                      h:左
                      l:右
                      j:下
                      k:上
                      可以和数字组合(数字在前,字母在后)

                  单词间移动:
                      w:调至下一个单词的词首
                      b:当前或前一个的词首
                      e:当前或下一个词的词尾

                  行内移动:
                      0:绝对行首     (此处是数值零
                      ^:第一个非空白字符(行首锚定符
                      $:绝对行尾    (行尾锚定符

                  句子间移动:
                      ):上一句
                      (: 下一句

                  段落间移动:
                      }:上一段
                      {:下一段


                  行间移动:
                      #G:第几行
                      G:最后一行
                      1G:第一行


              编辑操作:
                 x:删除光标所在处的字符
                #x:删除光标所在处向后的#个字符
                 r:替换光标所在处的字符

                d:删除命令
                  结合光标跳转命令使用
                  %:全部删除
                  dd:删除一行
                  #dd:删除所在行后的#行

              末行模式:范围定界
                  start,end:可以使用绝对定界,也可以使用相对定界
                       .:表示当前行
                       $:最后一行
                     .,$-2:倒数第3行

                  /pat1(模式)/,/pat2/:起始处为光标所在行
                  从第一次被模式1匹配到的行开始,到第一次被模式2匹配到的行结束,中间的所有行


              c:改变(替换)
                  跟d一样操作(最后转换成输入模式)

              y:yank,复制
                  跟d一样操作

              p:paste 粘贴
                复制或删除的是整行
                  (小写)p:当前行的下一行
                  (大写)P:当前行的上一行
                复制或删除的为非整行
                  (小写)p:粘贴在光标所在字符的后面
                  (大写)P: 粘贴在光标所在字符的前面

              撤销编辑:
                  u:undo
                  #u:最近50次操作

                  撤销此前的撤销操作:
                    ctrl+r

                  重复执行此前的命令:
                    .

              翻屏:
                  ctrl+f:向文件尾部翻一屏
                  ctrl+b:向文件首部翻一屏
                  ctrl+d:向文件尾部翻半屏
                  ctrl+u:向文件首部翻半屏
                  Enter:下一行
                    k :上一行

              查找:
                  /keyword
                  ?keyword
                  n:
                  N:
                  支持正则表达式
                  :set nohlsearch 关闭高亮显示,对当前shell有效

        4、vim的可视化模式

            编辑模式:
                v: 按照光标走过的区域选择
                V:选择矩形块

            打开多个文件,分窗口:
                 vim -o
                 vim -O
                 Ctrl+w, 上下箭头

               分割当前窗口(平均分割):
                 Ctrl+w, s
                 Ctrl+w, v

              窗口属性的定义:
                 :set nu : 显示行号
                   :set nonu : 不显示行号

                 :set ai 自动缩进
                 :set noai

                 :set ic 忽略大小写
                 :set noic

                 :set sm (show match)显示匹配(对应)的括号
                 :set nosm

              语法高亮:
                 :syntax on
                 :syntax off

              搜索高亮:
                 :set hlsearch
                 :set nohlsearch

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

              查找替换:
                :地址定界s/查找模式/替换为的内容/gi
                    g:全局替换(global)
                    i:不区分大小写(ignore-case)
                :地址定界s@查找模式@替换为的内容@gi

                &:用于在替换为的内容部分中引用前面匹配到的所有内容


    bash的文件测试
            [ 测试文件 ]
            [[ 测试文件 ]]
            test  测试文件

                单目测试:
                    -e /path/to/file :测试文件是否存在
                    -a /path/to/file :测试文件是否存在
                    -f /path/to/file: 测试是否为普通文件
                    -d /path/to/somefile: 测试是否为目录文件
                    -b /path/to/somefile : 测试文件是否存在并且是否为一个块设备文件
                    -c /path/to/somefile : 测试文件是否存在并且是否为一个字符设备文件
                    -h|-L /path/to/somefile : 测试文件是否存在并且是否为符号链接文件
                    -p /path/to/somefile : 测试文件是否存在并且是否为管道文件:
                    -S /path/to/somefile : 测试文件是否存在并且是否为套接字文件:
                    -r /path/to/somefile: 测试其有效用户是否对此文件有读取权限
                    -w /path/to/somefile: 测试其有效用户是否对此文件有写权限
                    -x /path/to/somefile: 测试其有效用户是否对此文件有执行权限
                    -s /path/to/somefile: 测试文件是否存在并且不空

                双目测试:

                    file1 -nt file2 :测试file1是否比file2更新一些
                    file1 -ot file2 :测试file1是否比file2更老一些

          带配置文件的脚本:
                在脚本中使用source命令——倒入别的文件(即将另外的文件读入)
                写脚本时可以使用配置文件
                配置文件只有存在,且当前用户拥有读权限才能够将其载入进去
                [ -r 配置文件 ] && source 配置文件




  • 相关阅读:
    bzoj 2259 [Oibh]新型计算机 ——最短路(建图)
    bzoj 4555 [Tjoi2016&Heoi2016]求和——NTT+第二类斯特林数
    NOIp2018 D2T3 defense——树上倍增
    bzoj 3456 城市规划——分治FFT / 多项式求逆 / 多项式求ln
    洛谷 4721 【模板】分治 FFT——分治FFT / 多项式求逆
    bzoj 3625(CF 438E)The Child and Binary Tree——多项式开方
    洛谷 P3377 模板左偏树
    CF 1016 C —— 思路
    洛谷 P3806 点分治模板
    洛谷 P4149 [ IOI 2011 ] Race —— 点分治
  • 原文地址:https://www.cnblogs.com/wxt19941024/p/6827756.html
Copyright © 2020-2023  润新知