首页 > 代码库 > 16、自学——Linux的学习进度与任务【vim编辑器及文件测试】

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

vim编辑器及文件测试

 

vim编辑器

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

    1、几种基本的模式:

          编辑模式:键盘操作通常被解析为编辑命令:
          输入模式:输入模式
          末行模式:vim的内置的命令行接口,执行vim内置命令

     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 配置文件




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