vim使用经验

Linux 命令行相关

光标移动(shell终端)

  1. 左/右移一个字符
    • 方向键
    • ctrl + b/f
  2. 左/右移一个单词
    • ctrl + 方向键
    • alt + b/f
    • esc + b/f
  3. 移动到行首/尾
    • ctrl + a/e

Vim 命令

光标移动

  1. 多行移动
  • gg
    • 移动文件头
  • G
    • 移动到文件尾
  • num k
    • 上移num行
  • num j
    • 下移num行
  • :[num]
    • 移动到文件的第 num 行
  1. 行首尾移动
  • 0
    • 光标移动到行首
  • $
    • 光标移动到行尾
  1. 单词移动
  • w
    • 向后移动一个单词,光标位于单词的第一个字母
  • b
    • 向前移动一个单词,光标位于单词的第一个字母
  • e
    • 向后移动一个单词,光标位于单词的最后一个字母
  • ge
    • 向前移动一个单词,光标位于单词的最后一个字母
  1. 字符移动
  • f[c]
    • 移动到当前光标之后的第一个字符为 [c] 的位置上
  • F[c]
    • 同上,反向查找
  • [num]hjkl
    • 向左/下/上/右移动[num]个字符
  1. 以句为单位移动
  • )
    • 移动到句首
  • (
    • 移动到句尾
  1. 其他移动方式
  • ^
    • 移动到本行第一个非空字符
  • 0
    • 移动到本行第一个字符,可以为空

操作撤销

  1. u
    • 撤销一步
  2. U
    • 对一行的步骤进行撤销

复制操作

  1. [num] yy
    • 复制 num 行,num默认为1
  2. y^
    • 当前位置复制到行首,等同 y0(不含光标所在字符)
  3. y$
    • 当前位置复制到行尾(含光标所在字符)
  4. y[num]w
    • 复制一个单词,num默认为1
  5. yG
    • 复制到文件末尾
  6. y1G
    • 复制到文件开头

剪切/删除

  • [num]dd
    • 剪切当前行后的 num 行,从当前行开始计算
  • :[num1],[num2]d
    • 剪切第[num1]~[num2]行
  • :[num1],[num2] m [num3]
    • 将第[num1]~[num2]行移动到 [num3] 行
  • dw
    • 删除当前单词
  • daw
    • 删除当前字符所在单词
  • D/d$
    • 删除当前字符至行尾
  • d^
    • 删除当前字符至行首

退出保存

  • :wq
    • 保存并退出,等同于 ZZ
  • :q!
    • 强制退出,并忽略所有更改
  • :e!
    • 放弃所有更改,并打开原有文件

粘贴

  • p
    • 粘贴至光标后(下边,右边)
  • P
    • 粘贴至光标上(上边,左边)

替换

  • :\s/old/new
    • 用 old 字符替换当前行第一个 new 字符
  • :\s/old/new/g
    • 用 old 字符替换当前行所有的 new 字符
  • :%s/old/new
    • 用 old 字符替换所有行第一个 new 字符
  • :%s/old/new/g
    • 用 old 字符替换本文件中所有的 new 字符

插入

  • i
    • 当前位置插入
  • I
    • 当前行首插入
  • a
    • 当前位置后插入
  • A
    • 当前行尾插入
  • o
    • 当前行之后插入一行
  • O
    • 当前行之前插入一行

查找

  1. /[text]
    • 查找 text,n 查找下一个, N 查找上一个
  2. ?[text]
    • 查找 text,反向查找,n 查找下一个, N 查找上一个
    • 向后(下)查找游标所处的单词
    • 向前(上)查找游标所处的单词
  3. /hello>
    • 精确匹配 hello
  4. /^hello
    • 精确查找位于行首的 hello
  5. /world$
    • 精确查找位于行尾的 hello
  6. 其他
    • vim 查找时一些特殊字符在查找时需要转义
      • .*[]^%/?~$
    • 查找时大小写
      • :set ignorecase/noignorecase  
        • 忽略/不忽略大小写

窗口操作

  1. 一个窗口已经打开了一个文件,想要再打开一个文件:
    • open [file]
  2. 一个窗口的多文件切换
    • bn(切换下一个文件)
    • bp(切换上一个文件)
posted @ 2022-07-21 13:10  王清河  阅读(31)  评论(0编辑  收藏  举报