Skip to content

Latest commit

 

History

History
181 lines (119 loc) · 6.31 KB

cheatsheets.md

File metadata and controls

181 lines (119 loc) · 6.31 KB

cheatsheets

模式切换

返回普通模式

  • esc - 从其他模式返回普通模式
  • Ctrl + [ - 同 esc,但是更顺手

插入-普通模式

  • <C-o> - 允许执行一次普通模式中的命令,然后回到插入模式

该模式是一种特殊模式,该模式仅存在于插入模式时使用 <C-o> 命令以及执行普通模式命令之前这段时间,在进入该模式后,一旦执行了普通模式中的命令,该模式立即结束并进入插入模式。

可视模式(visual)

  • v - 进入 字符可视模式(-- VISUAL --)
  • V - 进入 行可视模式(-- VISUAL LINE --)
  • <C-v> - 进入 列块可视模式(-- VISUAL BLOCK --),用于表格操作会比较方便
    • <C-v> 进入的 visual block 模式支持列操作,可以通过此模式进行批量的缩进、注释、append 等操作:
" example
<Ctrl-v>  " Ctrl+v
10j       " 向下移动选中10行
<Shift-i> " 进入插入模式
//        " 插入 // - JavaScript 注释
<esc>     " 返回普通模式

查找

查找字符

  • f{char} - 从光标所在位置向后查找第一个匹配的字符 {char}
  • F{char} - 从光标所在位置向前查找第一个匹配的字符 {char}
  • t{char} - 从光标所在位置向后查找第一个匹配的字符 {char},光标停留在匹配字符之前的字符上
  • T{char} - 从光标所在位置向后查找第一个匹配的字符 {char},光标停留在匹配字符之后的字符上

查找 word

  • * - 向后查找光标当前所在单词
  • # - 向前查找光标当前所在单词
  • / - 向后查找 / 之后输入的单词
  • ? - 向前查找 之后输入的单词

重复

  • n - 重复上一次查找,包含 * # /?
  • N - 同 n,只不过方向相反
  • ; - 重复上一次查找,包含 f F t T
  • , - 同 ;,只不过方向相反

跳转(jump)

  • Ctrl + O - 跳转到光标之前所在的位置
  • Ctrl + I - 跳转到光标之后所在的位置
  • % - 跳转到跟光标所在括号(()``[]``{})匹配的括号
  • gd - 跳转到变量的声明位置

插入

  • <C-v> - 使用字符编码输入;十进制:<C-v>97,十六进制:<C-v>u0076
  • <C-k>{char1}{char2} - 使用二合字母插入不常用的字符,查看帮助文档 :h digraph-table

替换(substitute)& 删除(delete)

普通模式

  • :#,#s/old/new/g - #,# 表示行号,在行号指定的范围内替换
  • :%s/old/new/g - 全局替换
  • :%s/old/new/gc - 全局替换,但是会弹框提示询问是否替换
  • R - 进入替换模式,从光标所在字符一直向后替换,知道按 esc 键返回普通模式
  • c{motion} - 删除 {motion} 指定范围的内容并进入插入模式

插入模式

  • <C-h> - 删除光标前的一个字符
  • <C-w> - 删除光标前的一个 word
  • <C-u> - 删除至行首

粘贴(paste)

插入模式

  • <C-r>{register} - 在插入模式中,将指定寄存器中的内容插入到光标所在位置,{register} 指 寄存器 id
  • <C-v>065 - 插入 ASCii 编码代表的字符
  • <C-v>u{1234} - 插入十六进制编码代表的字符
  • <C-v>{char} - 插入普通字符
  • <C-k>{char1}{char2} - 二合字母插入

二合字母插入是指用两个字符来表示一个特殊字符,例如 ¡ 这符号,可以用 !I 这两个字符来表示;Vim 中可以通过 :h digraph-table 命令来查看二合字母列表。

重复操作

  • . - 重复上一次修改,这里的修改是指对文件内容的修改,比如 x, d, c 等命令,以及插入模式中对文件内容的修改
  • n - 重复 *#/ 查找过程
  • N - 反向重复 *#/ 查找过程
  • ; - 重复 fFtT 查找过程
  • , - 反向重复 fFtT 查找过程

缩进 & 格式化

  • = - 格式化当前行
  • >> - 向右缩进一格(一个 tab 的缩进)
  • << - 向左缩进一格(一个 tab 的缩进)
  • >G - 将当前至文档末尾的所有行向右缩进一个层级(一个 tab 的缩进)

组合

  • gg=G - 整个文件格式化
  • 2,5> - 第二到第五行向右缩进一个空格
  • 2,5< - 第二到第五行向左缩进一个空格

字符大小写反转

普通模式

  • g~ - 大小写反转(大 -> 小,小 -> 大)
  • gu - 当前字符转换为小写
  • gU - 当前字符转换为大写

可视模式

  • - 大小写反转(大 -> 小,小 -> 大)
  • u - 当前字符转换为小写
  • U - 当前字符转换为大写

组合

  • gUaw - 整个单词大写
  • gUap - 整个段落大写

可视模式高亮选中

  • gv - 选中上次高亮选中的文本范围
  • o - 可视模式中用于切换选中区域的移动端(可视模式一端固定另一端可以移动,o 可以用来切换哪一端可以移动)

数学运算

普通模式

  • {number}<C-a> - 跳转到光标之后的第一个数字,并将数字的值增加 {number}
  • {number}<C-x> - 跳转到光标之后的第一个数字,并将数字的值减少 {number}

插入模式

  • <C-r>= - 该命令会调用 表达式寄存器,允许在屏幕下方输入数学表达式,点 <CR> 后会将计算结果插入到光标当前所在的位置

信息查询

  • <C-G> - 显示文件路径信息 & cursor 在文件中位置的信息
  • ga - 在屏幕下方展示光标所在字符的编码

命令(command)

  • :! + cmd - 执行外部命令,这里的 cmd 指在 shell 中可以运行的命令;可以执行任意外部指令,也允许带参数

提取合并文件

  • :r filename - 将 filename 文件的内容插入到光标所在行的下面
  • :r !ls - 将 ls 命令的结果插入到光标所在行的下面

options

  • hls/hlsearch - 高亮搜索匹配项
  • is/incsearch - 显示部分匹配
  • ic/ignorecase - 忽略大小写
  • spell - 开启拼写检查

关闭该 option 只需要在 option 之前加上 no

tips

本文只是记录作者自己不太熟悉但是感觉会用到的快捷键,并不是比较完善的 cheatsheets;如果想看比较完备的 cheatsheets,请移步 韦易笑 整理的 awsome-cheetsheets

Author Info 🦂