vim(vi)的常用快捷键

Vim 简介

vim是什么?听说它是编辑器之神!
神一样的存在,而我却经常用上下左右箭头来移动光标,实在是有点对不起它,所以想着稍微学学一点神的技能吧!

1. vim的三种模式

  • Nomal mode:默认模式,因为使用该模式场景最多,所有定为默认模式
  • Insert mode :插入模式,少用,尽量不要停留在找个模式下,操作完成之后,推荐返回默认模式
  • Visual mode:可视模式,一般在需要选中的时候使用

三种模式之间的转换:

  • 在插入或者可视模式下,按Esc键返回到默认模式
  • 在默认模式下,按i,a,o进入插入模式
  • 在默认模式下,按v,V进入可视模式

2. vim的操作

2.1 vim中的快捷键

  • 移动:h(左)、l(右)、j(上)、k(下)
  • 操作:d(delete)、i(insert)、a(append)、c(change)、y(copy)、p(paste)
  • 缩写:w(word)、s(sentence)

2.2 vim中的正则表达式

  • ^:行首
  • $:行尾

2.3 vim中的命令模式

  • :set nu,显示行号
  • :syntax on,语法高亮
  • :set autoindent,自动缩进
  • :set fileencoding,显示文件编码
  • :set fileencoding=utf-8,以utf-8的编码显示文件(然后w可以保存)

3. vim的神操作

3.1 移动、定位

  • h:光标向左移动
  • j:光标向下移动
  • k:光标向上移动
  • l:光标向右移动
    可以在字母前面加上「数量」就可以移动多行了,比如向上移动 10 行,就是10k
  • w:光标往前移动一个词
  • b:光标向后移动一个词
  • 0:移动光标到当前行首
  • ^:移动光标到当前行的第一个字母位置(注意与 0 的区别)
  • $:移动光标到行尾
  • ):移动光标到下一个句子
  • ( :移动光标到上一个句子
  • {:移动光标到上一段
  • }:移动光标到下一段
  • [n]gg : 光标移动到第 n 行
  • gg: 光标移动到文件首部
  • G:移动到文件尾部

3.2 快速编辑

  • i:在光标处插入(insert首字母小写)
  • I:在行首插入(insert首字母大写)
  • a:在光标处后一个字符插入(append首字母小写)
  • A:在行尾插入(append首字母大写)
  • o:在上一行插入
  • O:在下一行插入
  • s:清除当前字符并进入插入模式
  • cc/S:清除当前行并进入插入模式
  • cw: 清除当前单词并进入插入模式

3.3 复制、黏贴、剪切

  • d[n]w:剪切光标单词及后面单词的内容(共n个单词),dw 是剪切当前单词
  • [n]dd:剪切光标行及后面行的内容(共n行),dd 为剪切当前行
  • D/d$:剪切光标后到行尾的内容
  • d0:删除光标至当前行首
  • dG:删除光标行至文档结尾
  • dgg:删除光标至文档开头
  • yy/Y:复制当前行的内容
  • p:粘贴到光标后
  • P:粘贴到光标前

3.4 撤销、查找、替换

  • u:撤回上次操作
  • /aaa:表示在整篇文档中搜索匹配aaa的字符串, / 表示向下查找
  • ?aaa: 表示在整篇文档中搜索匹配aaa的字符串,?表示向上查找
    其中aaa可以是正规表达式。查找到以后,再输入 n 查找下一个匹配处,输入 N 反方向查找。
  • :%s/old/new:检索第一个“old”字符串并将其替换成 “new”
  • :%s/old/new/g:检索并将所有的 “old” 替换为 “new”
  • :%s/old/new/gc:检索出所有的 “old” 字符串,但在替换成 “new” 前,先询问是否替换

3.5 把vim暂时放置于后台

  • Ctrl+z: 把vim暂时放置于后台
  • fg : 调回之前放置于后台的vim,继续编辑

vim

相关推荐