写点什么

vim 快捷键收藏版

用户头像
良知犹存
关注
发布于: 2020 年 10 月 28 日

总述

附加一篇介绍文哈,关于 vim 快捷键的介绍。vim 和 vscode 到底谁更好用,大家争得不可开交,然后我就在 vscode 里面装了一个 vim 插件,完美得解决了这个问题,用完之后觉得真香,所以我就整理一份终端命令的快捷键,所以大家赶紧收藏起来吧。

作者:良知犹存


转载授权以及围观:欢迎添加微信公众号:羽林君


一:初识 VI/VIM


刚开始用 VIM 打开文件的时候,需要从宏观的去了解一下 VIM 这个编辑器。


VIM 有四个模式:


  • 正常模式 (Normal-mode)

  • 插入模式 (Insert-mode)

  • 命令模式 (Command-mode)

  • 可视模式 (Visual-mode)


正常模式:


启动 vim 后默认处于正常模式。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。


插入模式:


在正常模式中按下 i, I, a, A 等键,会进入插入模式。现在只用记住按 i 键会进行插入模式。在插入模式中,击键时会写入相应的字符。


命令模式:


在正常模式中,按下:(英文冒号)键,会进入命令模式。在命令模式中可以执行一些输入并执行一些 vim 或插件提供的指令,就像在 shell 里一样。这些指令包括设置环境、文件操作、调用某个功能等等。


常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)。


可视模式:


在正常模式中按下 v, V, <Ctrl>+v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。


注:vimrc 是 vim 的配置文件,可以修改两个位置,通过修改 vimrc 改变 vim 的配置


1./etc/vim/vimrc


2.~/.vimrc


~/.vimrc 优先级高


二:命令模式下的快捷操作


单键操作:


Y y 拷贝 P p 复制


E e 跳转字符


CTRL + E CTRL +Y


CTRL+F CTRL+B


CTRL+V 进行复制


CTRL+N 智能补码


X x 删除 S s 删除


L 屏幕末尾


H 屏幕初始


/ ? 搜索


N n 下一个


J 合并两行


I 插入模式


Esc 编辑模式和命令模式


| 行首 键盘上 END 行尾


< >反缩进 缩进


U u 撤销


O o 换行


组合按键操作:


1.全选并复制(区分大小写!!!)


  • 全部删除:

  • 全部复制:

  • 全选高亮显示:

  • 单行复制:

  • 单行删除:

  • 粘贴:


:vim 只能粘贴 50 行的问题:


在当前用户主目录(~)编辑~/.vimrc(如果不存在,新建这个文件),添加一行


:set viminfo='1000,<500
复制代码

至于为什么要输入输入’1000,这个其实不重要,最主要的是输入<500,它是设置寄存器保存的行数的,即最大值为 500。


ggVG*y
复制代码

解释一下上面的命令:


ggVG ——全选


*y —— 复制到剪贴板


gg 是光标定位到文件首行


V 是进入可视模式


G 是跳转到文件最后一行


这个时候你就将文本全选了


然后使用*y 来复制到剪切板上也可以通过配置使用 y 直接复制到剪切板


注意:这些命令需在输入模式下执行 0


1、set shiftwidth=4(设定自动缩进为4个字符,底行模式下)
复制代码


2、gg=G(自动格式化全部代码)
复制代码


3、mG=nG(自动格式化第m到第n行)
复制代码


4、==(格式化当前行)
复制代码

2.跳转行


比如想跳转到文本的第 12 行,可以执行如下命令:


1、12gg / 12G
复制代码


2、:12
复制代码


3、打开文件时输入vim +12 filename
复制代码


3.高亮方法:


用 vim 时,想高亮显示一个单词并查找的方法,将光标移动到所找单词.


1: shift + "*" 向下查找并高亮显示


2: shift + "#" 向上查找并高亮显示


3: "g" + "d" 高亮显示光标所属单词,"n" 查找!


4.取消高亮的方法:


使用 vim 的高亮搜索功能之后,如果不取消的话,代码中就会有像补丁一样的一块一块的高亮。之前用的方法很土,就是找一个再重新搜索一个很少用到的字符,万一不幸,在源码中存在的话,那就换下一个,这样一直换下去。后来觉得这样不行,太 low 了,网上搜了一下,很简单,在命令状态下直接输入:


:noh
复制代码


5.分屏操作:


1>.开启分屏


1、使用大写的O参数来垂直分屏 vim -On file1 file2 ...
复制代码


2、使用小写的o参数来水平分屏 vim -on file1 file2 ...
复制代码

2>.关闭分屏


1.      关闭当前窗口。Ctrl+W c
复制代码


2.      关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctrl+W q
复制代码

3>.分屏细节


(1)上下分割当前打开的文件。


Ctrl+W s
复制代码


(2)上下分割,并打开一个新的文件。
复制代码


:sp filename
复制代码


(3) 左右分割当前打开的文件。
复制代码


Ctrl+W v
复制代码


(4) 左右分割,并打开一个新的文件。
复制代码


:vsp filename
复制代码

4>.移动光标


Vi 中的光标键是 h, j, k, l,要在各个屏间切换,只需要先按一下 Ctrl+W


(1)把光标移到右边的屏。


Ctrl+W l
复制代码


(2) 把光标移到左边的屏中。
复制代码


Ctrl+W h
复制代码


(3)  把光标移到上边的屏中。
复制代码


Ctrl+W k
复制代码


(4)把光标移到下边的屏中。
复制代码


Ctrl+W j
复制代码


(5) 把光标移到下一个的屏中。.
复制代码


Ctrl+W w
复制代码

5>.移动分屏


这个功能还是使用了 Vim 的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。


(1) 向右移动。


Ctrl+W L
复制代码


(2) 向左移动
复制代码


Ctrl+W H
复制代码


(3) 向上移动
复制代码


Ctrl+W K
复制代码

(4)向下移动


Ctrl+W J
复制代码


6>.屏幕尺寸


下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用[Ctrl+W <]或是[Ctrl+W >],但这可能需要最新的版本才支持。


(1) 让所有的屏都有一样的高度。


Ctrl+W =
复制代码

(2) 增加高度。


Ctrl+W +
复制代码


(3)减少高度。
复制代码


Ctrl+W -
复制代码


6.跳转实现:


[+ctrl+i 跳转到函数、变量和#define   用ctrl+o 返回
复制代码


[+ctrl+d 跳转到#define处用ctrl+o 返回
复制代码


ctrl+i 向前跳到前几次光标位置
复制代码


ctrl+o 向后跳到后几次光标位置
复制代码

(1)函数体跳转:


]]
复制代码


[]
复制代码


][
复制代码


{}
复制代码


(2)括号跳转


小括号的跳转:跳到句子的下头,句子以句号或者空行结束,英文中的句号为 “.”。


(          (左小括号) 移到这个句子的开头
复制代码


)          (左小括号) 移到下一个句子的开头
复制代码

中括号的跳转:跳到函数的开头或者结尾。


[[         跳往上一个函式的起始大括号
复制代码


]]         跳往下一个函式的起始大括号
复制代码


[]         跳往上一个函数的结束大括号
复制代码


][         跳往下一个函数的结束大括号
复制代码

大括号的跳转:跳到段落的开头,段落以空行划分


{         (左大括号) 跳到上一段的开头
复制代码


}         (右大括号) 跳到下一段的的开头
复制代码

三:快捷键高清示意图


由于发表文章会令图片像素降低,大家可以后台回复 vim 快捷键获得相应的高清图。




这就是我分享的 vi/vim 快捷键,如果大家有什么更好的思路,欢迎分享交流哈。


*—**END*—


推荐阅读


【1】c++nullptr(空指针常量)、constexpr(常量表达式)


【2】嵌入式底层开发的软件框架简述 必读

【3】CPU中的程序是怎么运行起来的

【4】C++的匿名函数(lambda表达式)

【5】阶段性文章总结分析


本公众号全部原创干货已整理成一个目录,公众号后台回复【资源】即可获得



更多分享,扫码关注我


发布于: 2020 年 10 月 28 日阅读数: 55
用户头像

良知犹存

关注

还未添加个人签名 2020.05.29 加入

还未添加个人简介

评论

发布
暂无评论
vim快捷键收藏版