vi和vim编辑器的使用

vi和vim编辑器的使用

制作人:全心全意

vi:Visual Interface(可视化接口),一款开源软件,体积很小,功能异常强大

vim:VI iMproved(vi的增强版)

一个程序员的文本编辑器,全屏编辑器,模式化编辑器

  用法:vi [选项] [文件 ...]

    +:打开文件后,光标位于最后一行

    +n:打开文件后,光标位于第n行

    +/匹配模式:打开文件后,光标第一次匹配模式行的行首

    -o:打开多个文件时,水平分窗口显示多个文件

    -O:打开多个文件时,垂直分窗口显示多个文件

    -r:非法退出后打开文件,恢复至非法退出时的状态

  

  模式:

    编辑模式(命令模式):进入编辑器默认处于此模式

      ZZ:保存退出

      [n]h:向左移动光标,同向左箭头

      [n]l:向右移动光标,同向右箭头

      [n]j:向下移动光标,同向下箭头

      [n]k:向上移动光标,同向上箭头

      [n]w:移动光标到下一个词的词首

      [n]e:移动光标到下一个单词的词尾(光标未在当前词尾,先移动到当前词尾)

      [n]b:移动光标到下一个单词的词首(光标未在当前词首,先移动到当前词首)

      n为数字,可选,例如:5h表示向左移动5个字符

      0或^:将光标移动到行首,0表示绝对行首,^表示一个非空白字符的行首

      $:将光标移动到行尾

      [n]G:将光标移动到最后一行,使用n则表示跳转到第n行

      ctrl+f:向后翻一屏

      ctrl+b:向前翻一屏

      ctrl+d:向下翻半屏

      ctrl+u:向上翻半屏

      [n]x:删除光标位置的单个字符

      [n]d:删除命令,需结合光标跳转使用

        例如:d$:从当前字符删除到行尾

        dd:删除当前光标所在行

      vim中删除的内容不会立即删除,会保存在内存缓冲区(默认仅保存最近50次操作),可进行撤销,最后一次删除的内容,可使用粘贴命令,相当于剪切,

      p:如果粘贴的内容为整行内容,则粘贴至光标所在行的下方。如果粘贴的内容为非整行,则粘贴至光标所在字符的后面

      P:如果粘贴的内容为整行内容,则粘贴至光标所在行的上方。如果粘贴的内容为非整行,则粘贴至光标所在字符的前面

      y:复制命令,用法同d,末行模式也相同

        如:yy复制当前行

        3yy:复制3行

      c:修改命令,用法同d

        如:cc删除当前行内容,进入输入模式

      r:替换命令,一般用于替换单个字符,很少用于替换多个字符

        rx:将光标所在位置的字符替换为x

      R:进入替换模式,替换模式在键盘输入的同时,替换之前的字符,ESC键退出替换模式

      u:撤销前一次的编辑操作,可连续使用

      ctrl+r:撤销(还原)前一次撤销操作

      .:重复前一次的编辑操作

        例如:dd后,.可以再执行dd

      v:进入可视化模式,按字符进行选取

      V:进入可视化模式,按矩形块进行选取

      可视化模式,可利用选区,进行编辑操作

      ctrl+w,s:水平拆分窗口

        ctrl+w,下箭头|上箭头:操作窗口切换

      ctrl+w,v:垂直拆分窗口

        ctrl+w,左箭头|右箭头:操作窗口切换

 

    输入模式(插入模式):进入文本键盘输入

 

    末行模式:

      set nu:显示行号(set number)

      set nonu:不显示行号,默认

      set ic:忽略大小写(set ignorecase)

      set noic:不忽略大小写,默认

      set ai:开启自动缩进(一般用于写脚本时)(set autoindent)

      set noai:关闭自动缩进,默认

      set hlsearch:查找文本高亮显示,默认

      set nohlsearch:关闭查找文件高亮显示

      syntax on|off:语法高亮显示,默认on

      ! shell命令:临时执行shell命令

      w:保存

        [1,$] w 文件地址:另存到指定的文件地址

      q:退出

      wq:保存并退出

      w!:强制保存(用于管理员编辑仅有只读权限的文件)

      q!:强制退出(不保存)

      x:保存退出,等同于wq

      数字:跳转到该行

      n1,n2d:删除n1开始到n2结束范围的行

        例如:.,+5d:表示从当前行开始删除当前行及向下的5行

        10,20d:表示删除10到20行

          .:当前行

          $:最后一行

          +n:向下n行

          $-5:倒数第5行

      /模式:查找匹配模式的内容

      [1,50] s///:查找替换

        g:全局替换,默认仅替换第一个匹配结果

        i:忽略字符大小写

        %:替换范围中表示全文替换

      next:切换到下一个文件(用于打开多个文件时)

      prev:切换到上一个文件(用于打开多个文件时)

      last:切换到打开文件的最后一个文件

      first:切换到打开文件的第一个文件

      qa:打开多个文件时,全部退出

      

      r 文件地址:在当前光标所在行的下方,填充指定的文件

 

    模式转换:

      编辑模式-->输入模式

        i:在当前光标所在字符的前面,转为输入模式

        I:在当前光标所在行的行首,转为输入模式

        a:在当前光标所在字符的后面,转为输入模式

        A:在当前光标所在行的行尾,转为输入模式

        o:在当前光标所在行的下方,插入一行,转为输入模式

        O:在当前光标所在行的上方,插入一行,转为输入模式

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

        ESC键:从输入模式进入编辑模式

      编辑模式-->末行模式:

        ::英文冒号,由编辑模式进入末行模式

      末行模式-->编辑模式:

        ESC键:从末行模式进入编辑模式,在有键入的情况下可能要敲击两次

      输入模式和末行模式彼此之间不能直接转换

        

 vim配置文件:

  全局配置文件:/etc/vimrc

  单用户配置文件:~/.vimrc

 

vim手册(英文):vimtutor

posted @ 2020-05-23 22:06  全心全意_运维  阅读(156)  评论(0编辑  收藏  举报