vim命令行模式常见快捷方式

Posted bj-mr-li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim命令行模式常见快捷方式相关的知识,希望对你有一定的参考价值。

普通模式下的快捷键

快捷键   说明
  i    insert, 在光标所在处输入
  I    在当前光标所在行的行首输入
  a    append, 在光标所在处后面输入
  A    在当前光标所在行的行尾输入
  o    在当前光标所在行的下方打开一个新行
  O    在当前光标所在行的上方打开一个新行
  ZZ    保存退出
  ZQ    不保存退出

  :q   退出
  :q!    强制退出,丢弃做出的修改
  :wq   保存退出
  :x    保存退出

字符间跳转:
  h: 左 l: 右 j: 下 k: 上
  #COMMAND:跳转由#指定的个数的字符

单词间跳转:
  w:下一个单词的词首
  e:当前或下一单词的词尾
  b:当前或前一个单词的词首
  #COMMAND:由#指定一次跳转的单词数

当前页跳转:
  H:页首 M:页中间行 L:页底
  zt:将光标所在当前行移到屏幕顶端
  zz:将光标所在当前行移到屏幕中间
  zb:将光标所在当前行移到屏幕底端

行首行尾跳转:
  ^: 跳转至行首的第一个非空白字符
  0: 跳转至行首
  $: 跳转至行尾

行间移动:
  #G :扩展命令模式下:# 跳转至由#指定行
  G:最后一行
  1G, gg: 第一行

句间移动:
  ):下一句(:上一句


段落间移动:
  :下一段:上一段
  Ctrl+f: 向文件尾部翻一屏
  Ctrl+b: 向文件首部翻一屏
  Ctrl+d: 向文件尾部翻半屏
  Ctrl+u:向文件首部翻半屏


字符编辑:
  x: 删除光标处的字符
  #x: 删除光标处起始的#个字符
  xp: 交换光标所在处的字符及其后面字符的位置
  ~:转换大小写
  J:删除当前行后的换行符


替换命令(r, replace)
  r: 替换光标所在处的字符
  R:切换成REPLACE模式


删除命令:
  d: 删除命令,可结合光标跳转字符,实现范围删除

复制命令(y, yank):
  y: 复制,行为相似于d命令


粘贴命令(p, paste):
  p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
  P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面

vim查找,替换的方法

查找
  /PATTERN:从当前光标所在处向文件尾部查找
  ?PATTERN:从当前光标所在处向文件首部查找
  n:与命令同方向
  N:与命令反方向

查找并替换
  s: 在扩展模式下完成查找替换操作
  格式:s/要查找的内容/替换为的内容/修饰符
  要查找的内容:可使用模式
  替换为的内容:不能使用模式,但可以使用\\1, \\2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容

修饰符:
  i: 忽略大小写
  g: 全局替换;默认情况下,每一行只替换第一次出现
  gc:全局替换,每次替换前询问

 

查找替换中的分隔符/可替换为其它字符,例如
[email protected]/[email protected]/[email protected]
s#/boot#/#i

例:

用vim,在/etc/default/grub倒数第二行末尾引号前面加入 xyz

:%s/\\(.*CMD.*\\)"/\\1 xyz"/

用vim,在/etc/fstab中给行首不是#开头的都加上#

方法一
:%[email protected]\\(^[^#].*\\|^$\\)@#\\1@
方法二
:%[email protected]^[^#]\\|^[email protected]#&@

用vim,去除#开头的行

方法一
:%s/^#.*\\n//
方法二 留下了空行
:%[email protected]^#.*[email protected]@

 
技术图片


技术图片


技术图片


技术图片

 

以上是关于vim命令行模式常见快捷方式的主要内容,如果未能解决你的问题,请参考以下文章

vim的快捷键

Vim快捷键

Linux学习老王视频第三周

小白的Linux运维之路3

Linux学习 vim编辑器

vim编辑器常见命令归纳大全