跳转到内容

Vim使用技巧

  • 录制宏:
    • q{c} 开始一个宏的录制;再次按下 q 终止。
    • 使用 @{c} 重放宏动作。
  • 快速查找光标下的单词:*
  • .范式:用一个键移动,另一个键修改(.)。
    • 精髓在于,巧妙构造修改方式,使得每次移动的落点可以直接使用 . 重复修改。
  • 数量操作:
    • 基础知识,使用 C^AC^X 可以增/减光标下的数字。
    • 如果光标下没有数字,那么会自动增减前方的第一个数字。
    • 和数量连用,可以做 180C^A 这样的操作。
  • 转换大小写:gu/gU/g~(反转) 后面接范围(aw, ap, w…),整行重复 gUU
  • 处理缩进:动词 < 减小缩进,> 增加缩进,等于号 自动格式化
  • 在插入模式中处理文本:
    • C^h 删除一个字符。
    • C^w 删除一个单词。
    • C^u 删除到行首。(这些命令在 bash 也可以使用。)
  • ESC 的等效替代:C^[
  • 使用 zz 重绘窗口,并将当前行置于中央。
  • 合并两行:J for join
  • 在插入模式下粘贴:C^R 接寄存器号。
    • C^R= 后面可以写表达式进行算术计算。
  • 修改到行尾/删除到行尾:c$/d$ 而非 ct$。(C 也可以。)
    • 替换到行尾更推荐使用 R:可以连续替换多个字符。
    • 在行中更改整行:Ss 则是替换当前字符,并进入插入模式。
  • 撤销类命令:u 撤销一次更改,U 撤销整行更改;C^R 重做撤销动作
  • 查找下一个/上一个:nN
    • f 开启的字符查找则用 ;,
    • 逆向查找时用 ? 代替 /
  • 重要:跳转到之前的位置或之后的位置,常用于大幅度跳转或查找
    • C^o 向之前跳转,C^I 向之后跳转
    • 双击波浪键在最近的跳转位置间跳转
  • 查找替换:
    • :s/abc/def 替换第一个
    • :s/abc/def/g 替换整行
    • :%s/abc/def/g 替换全文;/gc 会在替换前询问
  • 执行外部命令::!ls
    • 读入外部命令结果::r !ls
  • 保存到文件::w FILE
    • 可以在可视模式下使用 :w,保存选中范围
    • 配合 :r 使用可以做到文件提取和合并
  • 忽略大小写查找开关::set ic / :set noic
  • 替换光标下的单词:ciw
  • 清除搜索高亮::noh
  • 删除指定的行::70d
  • 切换窗口:C^W + 方向
  • 打开文件管理:sf,使用 <C^T> 在新标签页打开文件