vim

vim模式

  • 编辑模式
  • 输入模式
  • 末行模式

模式转换

  • i: 在当前光标所在字符的前面,转为输入模式
  • a: 在当前光标所在字符的后面,转为输入模式
  • o: 在当前光标所在行的下方,新建一行,并转为输入模式
  • I: 在当前光标所在的行首,转换为输入模式
  • A: 在当前光标所在的行尾,转换为输入模式
  • O: 在当前光标所在的上方,转换为输入模式

打开文件

  • vim +#: 打开文件,定位第#行
  • vim +: 打开文件,定位置最后一行
  • vim +/patthern: 打开文件,定位至第一次被patthern匹配到的行的行首

关闭文件

  • :q : 退出
  • :wq : 保存并退出
  • :q! : 不保存并退出
  • :w : 保存
  • :w! : 强行保存
  • :wq : ---> :x

移动光标

  • 逐字符移动
    • h: 左
    • l: 右
    • j: 下
    • k: 上
  • 以单词为单位移动
    • w: 移至下一个单词的词首
    • e: 跳至当前或下一个单词的词尾
    • b: 跳至当前或前一个单词的词首
  • 行内跳转
    • O: 绝对行首
    • ^: 行首的第一个非空白字符
    • $: 绝对行尾
  • 行间跳转
    • #G: 跳转至第#行
    • G: 最后一行

翻屏

  • ctrl+f: 向下翻一屏
  • ctrl+b: 向上翻一屏
  • ctrl+d: 向下翻半屏
  • ctrl+u: 向下翻半屏

删除

  • x: 删除光标所在处的单个字符
  • #x: 删除光标所在处及向后的工#个字符
  • dd: 删除光标所在的行
  • #dd: 删除包括当前光标所在行在内的#行

末行模式下

  • .: 表示当前行
  • $: 最后一行
  • +#: 向下的#行

粘贴命令

  • P: 如果删除或复制为正行内容,则粘贴至光标所在行的下方,如果删除和复制的内容非正行,则粘贴至光标所在字符的后面
  • p: 如果删除或复制为正行内容,则粘贴至光标所在行的上方,如果删除和复制的内容非正行,则粘贴至光标所在字符的前面

复制

  • 用法同d删除

替换

  • R: 替换模式

撤销编辑操作

  • u: 撤销前一次的编辑操作,连续u命令可撤销此前的n次编辑操作
  • #u: 直接撤销最近#次编辑操作
  • ctrl+r: 撤销最近一次撤销操作

可视化模式

  • v: 按字符选取
  • V: 按矩形选取

使用vim编辑多个文件

vim file1 file2 file3 ...

  • :next : 切换至下一个文件
  • :prev : 切换至前一个文件
  • :last : 切换至最后一个文件
  • :first : 切换至第一个文件

分屏显示一个文件

  • ctrl+w, s: 水平拆分窗口
  • ctrl+w, v: 垂直拆分窗口
  • ctrl+w, arrow: 在窗口间切换光标

分窗口编辑文件

  • vim -o: 水平分割显示
  • vim -O: 垂直分割显示

两个文件间的替换

  • :addr1,addr2w /path/to/somewhere : 将当前文件中部分内容另存为另外一个文件
  • :r /path/to/somewhere : 将另一个文件的内容填充在当前文件中
原文地址:https://www.cnblogs.com/zane-zong/p/6808257.html