Vim 常用操作

1 退出

  • :qa 关闭所有文件
  • :qa! 关闭所有文件,放弃更改
  • :w 保存
  • :wq:x 保存和关闭文件
  • :q关闭文件
  • :q! 关闭文件,放弃更改
  • ZZ 保存退出
  • ZQ 退出,放弃更改

2 编辑

  • a 追加
  • A 行尾追加
  • i 插入
  • I 行首插入
  • o 插入行
  • O 上方插入行
  • s 删除插入当前字符
  • S 删除行同时插入
  • C 删除到行尾同时插入
  • r 替换单个字符
  • R 替换模式
  • u 撤销
  • Ctrl+R 重做

3 退出插入模式

  • Esc
  • Ctrl+[
  • Ctrl+C 退出插入模式同时终止当前命令

4 剪贴板

  • x 剪切字符
  • dd 剪切行
  • yy 复制行
  • p 粘贴,对于复制行在下方粘贴,对于字符后方粘贴
  • P 粘贴,对于复制行在上方粘贴,对于字符前方粘贴
  • "*p"*P 从系统剪贴板粘贴,*+是与系统剪贴板交互的寄存器,若"*p不行可以尝试"+p,需要确保vim支持剪贴板,可以使用vim --version | grep clipboard查看,出现+clipboard即为支持
  • ”*y+y 复制到系统剪贴板

5 导航

  • h/j/k/l 左/下/上/右
  • Ctrl+E/Y 滚动上/下一行
  • Ctrl+U/D 滚动上/下半页
  • Ctrl+F/B 滚动上/下一页
  • b/w 前/后一个单词首字母
  • ge/e 前/后一个单词尾字母
  • 0 绝对行首(忽略空白)
  • ^ 相对行首
  • $ 行尾
  • fcFc 向前/后跳转到字符c
  • gg 首行
  • G 末行
  • :nnGn
  • Ctlr+O/I 上一次位置/撤回
  • [(/[{ 前一个(/{
  • ])/]} 后一个)/}
  • [m 方法前一个开始/结束处
  • ]m 方法后一个开始/结束处
  • zz 滚动窗口让当前行居中
  • zt 滚动窗口让当前行置顶
  • H/M/L 移动到屏幕顶部/中部/底部
  • :tabedit file 打开一个新tab编辑文件file
  • :tabclose 关闭当前tab
  • :tabs 列出所有tab
  • :tabfirst/:tablast 跳转到第一个/最后一个tab
  • :tabn/:tabp 下一个/上一个tab

6 可视化模式

  • v 可视化模式
  • V 行可视化模式
  • Ctrl+V 块可视化模式

7 操作符+动作

形式如下:

操作符 动作

例子:

  • dw d是操作符代表删除,w是移动到下一个单词首 ,所以就是删除到下一个单词首
  • db 删除到上一个单词首
  • 2dd 删除两行
  • dip 删除一个文本对象(下面有说)

操作符列表:

  • d 删除
  • y 复制(也叫yank)
  • c 修改
  • > 右缩进
  • < 左缩进
  • g~ 变换大小写
  • gU 大写
  • gu 小写

8 文本对象

形式如下:

操作符 i/a 文本对象

其中操作符是上面提到的,i/a表示:

  • i inside,仅选择文本,比如文本对象是一个字符串,仅选择字符串内容,不包括包围的单/双引号
  • a around,选择包括文本,包围的字符与周围的空白,比如文本对象是一个[]块,会选择[]里面的内容,同时选中包围的[],如果[]周围有空白也会进行选中

文本对象:

  • p 段落
  • w 单词
  • s 句子
  • [/(/{/< 一个[]/()/{}/<>
  • '/"/反引号 单/双/反引号字符串
  • t 一个xml标签块

例子:

  • vip 选择段落
  • vipipip 选择更多段落
  • yit 复制一个xml标签块
  • ya" 复制一个"字符串以及包围的"
  • di[ 删除一个[]块的内容
  • ca{ 修改一个{}块以及周围空白

9 杂项

9.1 数字增减

  • Ctrl+A 数字加1
  • Ctrl+X 数字减1

默认识别十进制,使用:set nrformats=bin,octal,hex后,能识别2/8/16进制。

  • 二进制:0b0B开头
  • 八进制:0开头
  • 十六进制:0x0X开头

9.2 大小写

  • g~ 切换大小写
  • gU 大写
  • gu 小写
  • g~~ 整行切换大小写
  • gUU 整行大写
  • guu 整行小写

9.3 计算器

插入模式下,输入Ctrl+R,接着输入=,再输入式子即可计算。Enter获取计算结果,会将计算结果插入到当前光标所在位置。

9.4 标记

  • 反引号^ 插入模式的上一次位置
  • 反引号. 上一次修改位置
  • 反引号反引号 上一次跳转的位置
  • ma 标记当前位置为标记a
  • 反引号a 跳转到标记a的位置
  • 'a 跳转到标记a的位置的行首

你可能感兴趣的:(vim)