Skip to main content

Command Palette

Search for a command to run...

Vim 常用快捷键

Published
1 min read
Vim 常用快捷键

光标移动

  1. hjkl 分别对应左、下、上、右
  2. a 光标下一个并进入输入模式,A 句尾并进入输入模式
  3. o 在当前行下新插入一行并进入插入模式,O 在当前行上面插入一行并进入插入模式
  4. 0 到这一行的最开始 Ctrl+6 到这一行的第一个字符处 Ctrl+$ 到行尾
  5. 在插入模式下的 Ctrl+w 删除光标前的一个单词
  6. dd 删除一行
  7. 在插入模式下 Ctrl+h 等同于删除键 <-
  8. 在插入模式下的 Ctrl+o 可以退出插入模式进入正常模式,但只能执行一个命令并再次进入插入模式。

关闭窗口

  1. ZZ 保存并关闭
  2. ZQ 不保存并并关闭

批量注释

  1. Ctrl+v 是进行块选择,可以直接进行列块选择,然后大写 I 进行插入注释,d 删除注释。win 中键冲突,改为 Ctrl+q
  2. v 从光标开始到光标结束进行选择,V 按行进行选择,Ctrl+v 是按一个矩形进行选择

翻页

  1. 翻页,Ctrl+B和Ctrl+F,分别代表 Backward 和 Forward。
  2. 翻半页,Ctrl+D,Ctrl+U,down,up
  3. 只关心当前屏幕的话,可以快速移动光标到屏幕的顶部、中间和底部:用 H(High)、M(Middle)和 L(Low)就可以做到
  4. 移动屏幕使光标居中 zz

多窗口

  1. :sp 横向打开窗口 :vsp 纵向打开窗口
  2. 窗口切换 Ctrl+w+w ,或Ctrl+w+h,j,k,l 或Ctrl+w+上下左右
  3. 关闭窗口 Ctrl+w+q

执行shell

  1. Ctrl+z将vim暂时挂起,fg恢复vim任务,fg %1 fg%2 可选择要恢复的任务
  2. :terminal 打开一个终端,exit 退出终端,Ctrl+w +上下左右键 切换窗口 :vertical :terminal 列示显示终端
  3. !! 或 :read 将执行的命令输入到当前行
  4. :! 执行一条shell 命令

自增自减

  1. 如果光标所在处是一个数字的话,Ctrl+a 自增,Ctrl+x 自减这个数字

More from this blog

根据前、中、后序数组构造二叉树

根据两个遍历数组生成二叉树,主要是固定住一个根节点,然后去另一个数组查找下标,划分数组做左右子树,再递归执行左子树和右子树。 这里主要讨论的是使用切片的过程中如何确定切片的起始点,即切片的区间,利用的是左子树的长度。 前序和中序构造二叉树 105. 从前序与中序遍历序列构造二叉树 递归加切片, python 中可以使用 index 函数直接获取值的下标。 注意:切片是左闭右开区间,最后一个值取不到 切片的下标如何思考:利用左子树的长度来辅助思考。idx 是中序数组中的当前节点下标,所以左子...

Apr 3, 20242 min read
根据前、中、后序数组构造二叉树

二叉树的遍历

掌握两种方法进行二叉树的遍历,这里重点看迭代法是怎么写,迭代法使用栈来模拟递归中的栈,也可以使用一种通用方式进行前、中、后序遍历。 递归法 def dfs(root) { // 前序遍历 dfs(root.left) // 中序遍历 dfs(root.right) // 后序遍历 } 迭代法:迭代法是用 stack 栈来模拟递归栈 下面这种写法可以统一前序、中序、后序遍历方式的写法,只需要改变入栈顺序 前序遍历:中,左,右中序遍历:左,中,右后序遍历:左...

Apr 3, 20242 min read
二叉树的遍历

函数式编程在 Java 和 Go 中的应用

函数式编程是一种 "编程范式"(programming paradigm),就是如何编写程序的方法论。 函数式编程特点: 函数是"第一等公民" 只用"表达式",不用"语句" "表达式"(expression)是一个单纯的运算过程,总是有返回值;"语句"(statement)是执行某种操作,没有返回值。函数式编程要求,只使用表达式,不使用语句。也就是说,每一步都是单纯的运算,而且都有返回值。 没有"副作用" 所谓"副作用"(side effect),指的是函数内部与外部互动(最典型的情况,就...

Jun 26, 20237 min read
函数式编程在 Java 和 Go 中的应用

Untitled Publication

13 posts