Linux:使用文本文件来保持配置文件之VIM操作大全

vi 编辑器

 Linux:使用文本文件来保持配置文件
 文本编辑器:ASCII文件
    emacs vi
   vi:Visual Interface
   全屏文本编辑,nano
   模式化的编辑器

   moduler 
   vim :vi improved
   vi的模式:
     编辑模式:键盘操作通常被解析为编辑命令:
     输入模式:
     末行模式:vim的内置的命令行接口,执行vim内置命令
   编辑模式-->输入模式
    i:当前光标处输入内容
    I:在当前光标所在行的行首
    a:在当前光标所在处的后面
    A:在当前光标所在行的行尾输入
    o:在光标所在行的下方新增一行空白行
    O:在光标所在行的上方新增一行空白行
   
    输入模式-->编辑模式
    ESC
    编辑模式-->末行模式
    :
    末行模式-->编辑模式
    ESC,ESC
   vi命令的使用格式
     vim [options] /path/to/file
   退出:
   :q!强制退出,不保存并退出
   :wq 保存修改并退出
   :x,保存并退出
   编辑模式:ZZ,保存退出
  打开:
     多文件跳转
     :next 下一个
     :prev  上一个
     :first 第一个
     :last 最后一个
     :qall 退出所有的文件
     :wqall:修改并退出多个文件
     分隔窗口打开多个文件
     -o:水平分隔
         ctrl+w,左右箭头
     -O:垂直分隔
         ctrl+W,上下箭头
     +#:打开文件后在第#号行首
     +:打开文件后在最后一行
   光标移动:
     单字符移动:
        h:左
        l:右
        j:下
        k:上
      可以和数字组合
      单词间移动:
         w:调至下一个单词的词首
         b:当前或前一个的词首
  e:当前或下一个词的词尾
      行内移动:
         0:绝对行首
  ^:第一个非空白字符
  $:绝对行尾
      句子间移动:
         ):上一句
        (: 下一句
      段落间移动:
         }:上一段
         {:下一段
      行间移动:
         #G:第几行
         G:最后一行
      编辑操作:
         x:删除光标所在处的字符
         #x:删除光标所在处向后的#个字符
  r:替换光标所在处的字符

  d:删除命令
    结果光标跳转命令使用
    %:全部
  dd:删除一行
  #dd:删除所在行后的#行
 末行模式:范围定界
    start,end:可以使用绝对定界,也可以使用相对定界
       .:表示当前行
       $:最后一行
       $-2:倒数第3行
       /pat1/,/pat2/:起始处为光标所在行
        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有效

vim的可视化模式
编辑模式:
 v:按照光标走过的区域选择
 V:选择矩形块
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

vim的配置文件:
 全局:/etc/vimrc
 个人:~/.vimrc
查找替换:
  :地址定界s/查找模式/替换为的内容/gi
    g:全局替换
    i:不区分大小写
  :地址定界s@查找模式@替换为的内容@gi
  &:用于在替换为的内容部分中引用前面匹配到的所有内容
练习:
  1.复制/etc/grup.conf至/tmp目录,删除/tmp/grub.conf文件中行首的空白符
  :%s\^[[:space:]]\{1,\}\\g
  2.复制/etc/rc.d/rc.sysinit至/tmp目录。将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行,行首加#号
  :%s@^[[:space:]]\{1,\}.*@#&@g
  3.删除/tmp/rc.sysinit文件中以#开头且后面跟了至少一个空白字符的行的行首的#和空白符
  1,%s@^#[[:space:]]\{1,\}@@g
  4.为/tmp/grub。conf文件中的前三行的行首加#号
  1,3s@^@#@g
  5.将/etc/yum.repos.d/CentOS-Media.repo中enable=0一行最后的0改为1;
   %@\(enabled=\)[0-9]@\11@g

  • blogger

版权所有:oldboy ---- 《Linux:使用文本文件来保持配置文件之VIM操作大全
本文地址:http://www.bokeren.cc/post-6.html
除非注明,文章均为 《悠然生活的平淡博客-博客人linux运维之家》 原创转载请注明本文地址,谢谢。


相关推荐

你肿么看?

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。