Vim 学习笔记

删除

  • dw = daw

  • daw 删除单词及旁边空格

  • diw 删除单词

  • dt( 删除直到左括号

  • dt” 如上

  • d0 删除到行首

  • d$ 删除到行尾

  • ndd 删除 n 行

  • nx 删除 n 个字符

替换

  • r replace

  • c change

  • s substitute 删除当前字符并进入插入模式

  • R 不断替换后续字符,覆盖写

  • S 整行删除进入插入模式

  • ns 删除n个字符并进入插入模式

  • caw 删除当前单词并进入插入模式

  • ct” 删除直到”并进入插入模式

查询

  • / 前向
  • ? 反向
  • n/N 上下移动
  • */# 对当前单词进行前向反向匹配

buffer 切换

  • :bprevious

  • :bnext

  • :bfirst

  • :blast

  • :b n 跳转 buffer

  • :b file_name 跳转 buffer

  • :ls 展示 buffer 列表

  • :e 打开编辑文件

window

  • :sp [file_name] 水平分隔

  • :vs [file_name] 垂直分隔

  • H/L 窗口左右替换

  • = 所有窗口等宽高

Tabpage

  • :tabnew [file_name] 新建一个标签页
  • gt 切换下一个 tab
  • gT 切换上一个 tab

宏录制

  1. 在 normal 模式下,按 q{register} 设置宏存放的寄存器位置,例如 qa,将宏存放在寄存器 a
  2. 开始进行 vim 操作
  3. 回到 normal 模式下,再按 q 结束录制
  4. 在 normal 模式下,按 @a 执行寄存器 a 中录制好的宏,可以利用100@a 执行一百次

复制黏贴

  • yy 默认复制一行到无名寄存器
  • p 默认粘贴无名寄存器的字符
  • 寄存器 0 为复制寄存器,使用 y 复制文本会将内容同步保存到寄存器 0
  • :reg a 查看寄存器 a 中信息
  • :reg {register} 同上
  • “{register} 使用某寄存器(register a-z 都可以使用)
  • “{register}yy 复制一行并将结果存放到寄存器 {register}
  • “{register}p 粘贴寄存器 {register} 中的字符
  • “+ 使用系统剪贴板
  • 设置 set clipboard=unnamed 默认使用系统剪贴板作为无名寄存器(Mac 需要使用 vim –version 检查是否支持 +clipboard 才有效)
  • 在 insert 模式下,使用 {register} 可以粘贴指定寄存器的内容

补全

  • 根据 Ctrl-n、Ctrl-p 补全单词
  • 根据 Ctrl-x Ctrl-f 补全文件名
  • 根据 Ctrl-x Ctrl-o 补全代码,需要开启文件类型检查

更换配色主题

  • :colorscheme 显示当前主题
  • :colorscheme 查看可选主题
  • :colorscheme <主题名> 更改主题

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 nickchenyx@gmail.com

Title:Vim 学习笔记

Count:586

Author:nickChen

Created At:2020-11-01, 17:01:00

Updated At:2023-05-08, 23:27:10

Url:http://nickchenyx.github.io/2020/11/01/vim-learning/

Copyright: 'Attribution-non-commercial-shared in the same way 4.0' Reprint please keep the original link and author.