vim 合集

  • vim 的学习记录

  • 资料来源:

    <>

  • 更新

    1
    2022.04.18 初始

导语

vim 与 emacs 编辑器之神与神之编辑器.虽然用的最多的是 vscode (^_^)…

尝试切换到全键盘流,于是选择了 vim. 这是一篇合集贴,记录自己使用 vim 的全部内容,仅备忘.

ps: 个人目的是熟悉 vim 的快捷键,在各类编辑器中使用,并非折腾 vim 本体和插件,因此并没有太多相关内容(或许最后会走向 vim 一把梭子也说不定)

vimtutor

vimtutor 是 vim 自带的入门教程,非常实用.

移动指令

  • h j k l 左下上右
  • 词: w 下一个词头 b 上一个词头 e 下一个词尾
  • 行: 0 行首 $ 行尾 ^ 第一个非空字符
  • 文件: gg 文件头 G 文件尾 NG 跳转到 N 行 C-G 查看当前位置

写入

  • o 光标后 创建新行,进入 insert
  • O 光标前 创建新行,进入 insert
  • 进入 insert; i 原地 a 当前词末尾 A 行末尾.

删除 (删除的内容会暂存到 vim,p 可使用)

  • x 删除字符
  • d{移动指令} dN{移动指令} 删除移动范围内内容
  • dd 删除行 Ndd 删除 N 行 (删除的内容)

撤销

  • u 撤销最后一次执行的命令
  • U 撤销光标在的这一行所有修改
  • C-R 撤销上一次 u 命令

修改

  • y 进入 v 模式复制选中文本
  • p 粘贴 粘贴 vim 的暂存
  • rx 替换字符
  • R 进入类似输入模式,但会替换已有字符
  • c{移动指令} cN{移动指令} 删除移动范围内容,并进入 insert

查找

  • /x 向下查找 ?x向上查找
  • n 结果向上 N 结果向下
  • % 查找并跳转到 )]},再输入 % 跳转到 ([{
  • set 选项查找时输入 :set xx,关闭则是 set noxx
    • ic 忽略大小写
    • is 搜索部分匹配
    • hls 高亮显示 (关闭高亮: 不带set 的 :nohlsearch)

替换

  • :s/x/y 头一个
  • :s/x/y/g 本行
  • :M,Ns/x/y/g M 到 N 行
  • :%s/x/y/g 整个文件
  • :%s/x/y/gc 整个文件并一个一个询问

窗口

  • sp vsp 打开新窗口
  • :q 退出当前窗口
  • C-W 切换焦点

C-O C-I 光标回到 光标向前/向后
C-G 查看当前位置
C-W 切换焦点
C-D 补全列表

operator number motion 的组合: d2w

:!command 执行外部命令

:w filename 将选中区写入一个新文件
:r file or any_command 类似管道将内容写入现在光标位置