当前位置:首页 > 嵌入式 > 嵌入式大杂烩
[导读]点击“蓝字”关注我吧总述    附加一篇介绍文哈,关于vim快捷键的介绍。vim和vscode到底谁更好用,大家争得不可开交,然后我就在vscode里面装了一个vim插件,完美得解决了这个问题,用完之后觉得真香,所以我就整理一份终端命令的快捷键,所以大家赶紧收藏起来吧。作者:良知...

点击“蓝字”关注我吧总述

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


作者:良知犹存

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

一:初识VI/VIM

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


VIM 有四个模式

  • 正常模式 (Normal-mode)

  • 插入模式 (Insert-mode)

  • 命令模式 (Command-mode)

  • 可视模式 (Visual-mode)


正常模式:


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


插入模式:


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


命令模式:


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

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


可视模式:


在正常模式中按下v, V, 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.全选并复制(区分大小写!!!)

  • 全部删除:

    按esc键后,先按gg(到达顶部),然后dG
  • 全部复制:

    按esc键后,先按gg,然后ggyG
  • 全选高亮显示:

    按esc键后,先按gg,然后ggvG或者ggVG
  • 单行复制:

    按esc键后,然后yy
  • 单行删除:

    按esc键后,然后dd
  • 粘贴:

    按esc键后,然后p
: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 / 12G2、:123、打开文件时输入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 c2. 关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctrl W q

3>.分屏细节

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

Ctrl W s2上下分割,并打开一个新的文件。
:sp filename3 左右分割当前打开的文件。
Ctrl W v4 左右分割,并打开一个新的文件。
:vsp filename

4>.移动光标

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

1把光标移到右边的屏。

Ctrl W l2 把光标移到左边的屏中。
Ctrl W h3  把光标移到上边的屏中。
Ctrl W k4把光标移到下边的屏中。
Ctrl W j5 把光标移到下一个的屏中。.
Ctrl W w

5>.移动分屏

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

1  向右移动。

Ctrl W L2 向左移动
Ctrl W H3 向上移动
Ctrl W K4向下移动

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快捷键,如果大家有什么更好的思路,欢迎分享交流哈。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭