每日命令之vim简单使用

   vim:即visual interface improved,是从 vi 发展出来的一个功能强大的文本编辑器,下面来介绍下vim命令的一些简单使用方法。

        vim属于模式化编辑器,有以下三种工作模式:编辑模式(默认)、输入模式和末行模式 。   

        我们用vim打开一个或多个文本文件时,使用格式为:vim [options] file file2...,常用的选项有:

              +#:表示打开文本文件后,让光标定位到第#行行首

              +/pattern : 表示打开文本文件后,让光标定位到第一个被pattern匹配到的行的行首

              -o: 表示打开多个文本文件后,将窗口水平分割

              -O: 表示打开多个文本文件后,将窗口竖直分割

        一、模式间转换:

      编辑模式 ==> 输入模式:

        i:insert,在当前光标所在字符的前方转入输入模式;

        a: append,附加,在当前光标所在字符的后方转入输入模式;

        I:当前行行首转入输入模式

        A:当前行行尾转入输入模式

        o: 在当前行下方新建一个空白行并转入输入模式

        O: 在当前行上方新建一个空白行并转入输入模式

      输入模式 ==> 编辑模式:按 ESC 键

      编辑模式 ==> 末行模式:按  :  键

      末行模式 ==> 编辑模式:按一下或多下 ESC 键

    二、vim光标跳转

       1、字符间跳转:h(左), j(下), k(上), l(右),当我们在命令前面加#(表示具体数字)则表示一次移动#个字符。

       2、单词间跳转:w(下一个单词的词首)、e(当前或下一个单词的词尾)、b(当前或前一个单词的词首),同理在命令前加#,则表示一次移动#个单词

       3、行内移动:0(绝对行首)、^(本行行首第一个非空白字符)、$(绝对行尾)

       4、行间移动:#G(跳转至第#行)、G(尾行)

    三、vim命令:

       1、字符编辑(编辑模式下)

          x: 删除光标所在处的字符

          #COMMAND: 删除光标所在处及向右的#个字符

          d: 删除,结合光标跳转字符,实现多字符删除

             d$: 删除当前光标所在处至行尾

             d^: 删除当前光标所在处至行首

             dw:删除当前光标所在处至下一个单词词首

             de:删除当前光标所在处至当前或下一个单词词尾

             db:删除当前光标所在处至当前或上一个单词词首

             dd: 删除行

             #dd: 删除#行,从当前光标所在行开始,删除#行 

          y: 复制(yank),结合光标跳转字符,实现多字符复制,使用方法同d命令

          p: 粘贴(paste)

             p:缓冲区存储如果整行,则粘贴于当前行下方;否则,则粘贴于当前光标所在处的后方

             P:缓冲区存储如果整行,则粘贴于当前行上方;否则,则粘贴于当前光标所在处的前方

          c: 改变(change),结合光标跳转字符,实现多字符修改,使用方法同d命令,并转入输入模式

          r: 替换(replace),替换单个字符

          u: 撤销,撤销上次操作,#u则表示撤销#次前操作

          ctrl+r: 取消上次的撤销操作

          .:重复执行上次操作

       2、关闭文件:(末行模式下)

           :q!  保不存退出

           :w!  强制保存(通常没有写权限时只有root用户才能执行此类操作)

           :wq  保存退出

           :x   保存退出

           :w /path/to/somefile 文件另存

       3、查找和替换:(末行模式下)

          字符查找:

          /pattern:从上往下根据pattern到文本中查找

            n:查看下一个匹配到的内容

            N:查看上一个匹配到的内容

          ?pattern:从下往上根据pattern到文本中查找

            n:查看下一个匹配到的内容

            N:查看上一个匹配到的内容

           字符查找替换:使用方法:s/要查找的内容/替换为的内容/(ig),要查找的内容可以使用模式,替换为的内容不能除后向引用以外的元字符,分隔符可按需要指定:s@@@, s###

            i: 忽略字符大小写

            g: 全局替换

           后向引用:如果要引用“要找到的内容”匹配到的所有内容,可使用&直接引用,而无需在模式中加\(\);如果只引用“要找到的内容”中的部分模式匹配到的内容,则仍需使用正则表达式的分组;而后使用\1, \2,...进行引用

       四、设置内置变量(末行模式下)

           在末行模式下使用set命令定义某内置变量的值为所需要的值;如果我们需要让这些设置永久生效,那么我们需要将设置保存到配置文件中:/etc/vimrc或者~/.vimrc

          :set nu     显示行号

          :set nonu   取消显示行号

          :set sm     开启高亮和括号匹配功能

          :set nosm   取消高亮和括号匹配功能

          :set ai     自动缩进

          :set noai   取消自动缩进

          :set ic     忽略字符大小写

          :set noic   不忽略字符大小写

          :set hlsearch  搜索结果显示高亮

          :set nohlsearch  关闭搜索结果显示高亮

          :syntax on   开启语法高亮功能

          :syntax off  关闭语法高亮功能

       


      

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。