vim

来源:互联网 发布:疲劳驾驶数据 编辑:程序博客网 时间:2024/06/15 23:26

VIM编辑器

vim - Visual Interface Improved – 改良的文本编辑器

  • vi 是现今Linux脚本编辑用得最多的一个工具,完全脱离鼠标模式。
  • vim 行切换快速而又高效,代码可以呈现高亮.
  • vim 可以在文本编辑中完全在编辑模式下进行编辑外的其它操作..

VIM的文本模式

这里写图片描述

– vim的模式众说纷纭,各有各的说法,但理是一样的。下面做下四种模式简介:

命令模式

 用户默认进入的模式就是命令模式,在命令模式下可以进行对文档的处理操作,如删除,复制...等等    字符间的移动:    k: 上    j:下     h:左     l:右     单词间的移动:         w:移动至下一个单词的         e: 移动到当前或下一个单词的词尾         b:移动当前或前一个单词的词首    当前页跳转  :          H: 跳至当前页的页首          M: 跳至当前页的中间行          L: 跳至当前页的页底    行首行尾移动 :          ^: 移动至行首的第一个非空白字符          0: 移动到行首          $: 跳转至行尾    行间跳转    :          G: 跳至最后一行         gg: 跳至第一行    翻屏操作    :     ctrl+f: 向后翻一屏     ctrl+b: 向前翻一屏     ctrl+d: 向后翻半屏     ctrl+u: 向前翻半屏    文本操作    :          x: 删除光标所在处的字符         #x: 删除光标所在处起始至#个字符         xp: 交换光标所在处的字符及其后面的字符位置          ~: 转换字母大小写          J:删除当前行后的换行符     替换命令 (r, replace)          r: 替换光标所在处的字符          R: 切换至Replace模式,进行文档的编辑或替换操作     删除命令    :          d: 删除命令,(可结合光标移动字符,如:d$, d^, d0...等等)         dd: 删除光标处所在的整行 (#dd 删除光标处至#的行)          D: 删除光标至行尾的字符     复制命令    :          y: 复制命令,复制整行。(可结合光标移动字符,如:y^, y$, y0..等等)         yy: 复制行 也可以 #yy     粘贴命令    :          p:缓冲区存的如果为整行,则粘贴当前光标所在行的下 方;否则,则粘贴至当前光标所在处的后面           P:缓冲区存的如果为整行,则粘贴当前光标所在行的上 方;否则,则粘贴至当前光标所在处的前面      退出        :         ZZ: 保存退出         ZQ: 不保存退出

扩展模式

 输入“:”  进入扩展模式,输入“ESC”退出,退出是直接到命令模式。扩展模式的作用: 可以执行一些命令行的操作      地址定界:         :                     #    行间定位           #,# 前#至后#行           #,+# 表示前#加后#行 即 (1,+3) 4行           .    当前行           $    最后一行 .,$-1 当前行到倒数第二行           %    全文,相当于1,$      查找   :      /pattern :从光标处向文件尾部查找      ?pattern :从光标处向文件首部查找             n :同向查找             N :逆向查找             查找并替换:          格式:            s/需查找的内容/需替换的内容/格式参数                格式的/可以是其它符号,          格式参数:              i: 忽略字母大小写              g: 全局替换,默认每行只替换一次。             gc: 全局替换,每次替替交互式询问          例:              s#/bin#/sbin#g    例:          复制/etc/profile至/tmp/目录,用查找替换命令删除 /tmp/profile文件中的行首的空白字符         :%s@^[[:space:]]\{1,\}@@g     查找以空格开头出现最少1次以上的全局替换为空      复制/etc/rc.d/init.d/functions文件至/tmp目录,用查 找替换命令为/tmp/functions的每行开头为空白字符的行的 行首添加一个#号          :%s@^[[:space:]]\{1,\}@#@g    查找以空格开头至少出现1次以上全局替换为#      命令:              w: 保存             wq: 保存退出              x: 写入退出              q: 退出             q!: 强制不保存退出              r: r filename  读文件内容到当前文件中              w: wfilename   将当前文件内容写入另一个文件              !: command     执行命令              r: command     读入命令的输出

插入模式

  输入“i , o , a , I , O ,A " 进入插入模式,退出使用 "ESC" 键   插入模式作用: 可以进行对文件的编辑     i: insert, 进入插入模式,在光标处进行编辑      I:在当前光标所在行的行首进行编辑     a: append, 在光标所在后面进行编辑      A:在当前光标所在行的行尾进行编辑      o: 在当前光标所在行的下行打开一个新行      O:在当前光标所在行的上行打开一个新行

可视化模式

 可视化模式可以大范围的操作整行或整个字符串(如复制,删除...) 退出使用 "ESC" 键     v: 面向字符进行命令行模式操作     V: 面向行进行命令行模式操作