程序员基础能力系列(1)——vim快捷键总结
admin
2024-03-18 01:29:12

文章目录

    • Normal模式
    • Insert模式
    • vim的语法
    • 可视化模式
    • 文本对象
    • 移动效率
    • 搜索
    • 数字和点
    • 多文件间的跳转
    • 处理包裹字符串
    • 替换字符串
    • 悬浮显示&大小写&注释
    • 窗口管理
    • 删除函数
    • 掌握宏

Vim是一种可配置的文本编辑器。相比于鼠标操作,vim只依赖于键盘。这一特点使得vim收到非常多程序员的青睐。使用vim可以一定程度提高程序员的开发效率,可以说是程序员必备的技能之一了。本文总结了vim的常用快捷键,当然,一部分快捷键进行了调整,并非vim的默认快捷键。

首先,你需要在vscode中安装vim插件。

Normal模式

功能快捷键
光标向上k
光标向下j
光标向左h
光标向右l
移动到行首(含空格)0
移动到行首(不含空格)H(代替^)
移动到行尾(含空格)$
移动到行尾(不含空格)L(代替g_)
复制当前行yy
粘贴p
删除当前行dd
删除光标字符x
删除光标前的字符X
删除光标字符进入inserts
删除光标所在行进入insertS
替换一个字符r
替换多个字符R
undou
redoctrl+r

Insert模式

功能快捷键
进入insert模式(光标前)i
进入insert模式(光标后)a
进入insert模式(行首)I
进入insert模式(行尾)A
进入insert模式(行前)O
进入insert模式(行后)o

vim的语法

操作+动词

操作包括:

功能快捷键
复制y
删除d
删除并进入insert模式c

动词包括:

功能快捷键
移动到下一个单词的开头w
移动到上一个单词的开头b
移动到下一个单词的结尾e
移动到上一个单词的结尾ge

组合使用:

功能快捷键
删除当前的单词bcw
在单词结尾出添加ea

可视化模式

语法:选中+操作

功能快捷键
字符v
V
ctrl+v
退出可视化模式esc / ctrl+[
切换可视区的光标位置o
跨多行编辑ctrl+v+j/k+A/I
复制/粘贴可视化区域+ctrl+c/v

文本对象

语法:

  1. 操作+(内部/外部)+文本对象
  2. 可视化模式+(内部/外部)+文本对象
功能快捷键
内部i
外部a

文本对象:

对象快捷键
单词w
()(/)
()b
[][/]
{}{/}
{}块B
XML标签t
‘’
“”"
```
句子s
段落p
删除一个函数参数daa
修改一个函数参数cia

移动效率

功能快捷键
向下滚动一屏ctrl+f
向上滚动一屏ctrl+b
向下滚动一行ctrl+e
向上滚动一行ctrl+y
配置(向下滚动5行)shift+j
配置(向下滚动5行)shift+k
将当前行置于屏幕中央zz
跳到文件首gg
跳到文件尾G
跳到指定行数行数+gg/G

搜索

单行搜索

功能快捷键
正向移动到下一个字符所在处f
反向移动到上一个字符所在处F
正向移动到下一个字符所在处的前一个字符处t
反向移动到上一个字符所在处的后一个字符处T
重复上次的字符查找指令;
反方向查找上次的字符查找指令,

使用技巧:
查询的时候用 f,删除的时候结合 c/d 使用 t

全局搜索

功能快捷键
模糊搜索,向后查/+字符+回车
模糊搜索,向前查?+字符+回车
向后查n
向前查N
查看搜索历史/+方向键+回车
精确查找(区分大小写),向下查*
精确查找(区分大小写),向上查#

数字和点

语法:数字+操作+范围 / 操作+数字+范围

点:重复上一次的修改(增加、删除、修改)

功能快捷键
行尾加分号jA; 通过 . 来重复操作
查找手动替换/+字符+n+cw+新字符 通过 . 来重复操作

多文件间的跳转

使用场景:写代码过程中,需要去头部进行引用,可暂时标记当前行,gg回头部加引用后,快速跳转回标记处

功能快捷键
单文件行标记m+小写字母
单文件跳转到指定行'+小写字母
单文件跳转到指定标记处`+小写字母
多文件行标记m+大写字母
多文件跳转到指定行'+大写字母
多文件跳转到指定标记处`+大写字母
跳转到变量声明和函数定义/引用gd + jk(上下切换) + l(跳转)
向前跳转ctrl+o
向后跳转ctrl+i
查看跳转记录:jumps

会被记录的跳转包括:文件间跳转/gg/G/标记跳转/gd///?/n/N

处理包裹字符串

功能快捷键
替换包裹字符cs+当前包裹字符+替换后的包裹字符
添加包裹字符ys+iw+包裹字符
删除包裹字符ds+包裹字符
可视化模式下添加包裹字符S+包裹字符

替换字符串

公式:

:[range]s/{pattern}/{string}/[flags]

range快捷键
$到尾部
%全文
number,number行范围
flags快捷键
g全部替换
c对话框操作

pattern:正则表达式

例如,替换 h1abc 和 h2abc 可以如下操作

h\dabc 或者 h[12]abc

可视化模式下 range已经有了,不需要重新输入,其他操作一致

gb,多选当前字符,键入c,同时编辑

悬浮显示&大小写&注释

功能快捷键
悬浮显示gh
normal小写gu
normal大写gU
可视化小写u
可视化大写U
大小写互换~
单行注释gc
多行(单词)注释gC

窗口管理

功能快捷键
新建窗口ctrl+w+v
窗口切换ctrl+w+hjkl/w
关闭窗口ctrl+w+c
关闭其他窗口ctrl+w+o

删除函数

功能快捷键
匹配括号%
基于缩进删函数d+a+I
基于段落删函数d+a+p

掌握宏

功能快捷键
开始录制宏q+字符(寄存器名称)
结束录制q
查看录制好的宏:+reg+空格+字符
使用宏@+字符(寄存器名称)
调用最后一次执行的宏@@
重复执行宏数字+@+字符
追加宏q+大写的字符
修改宏“+字符+p(从寄存器中把宏粘贴出来) 修改后,”+字符+yy(复制回寄存器)

相关内容

热门资讯

45亿春节红包雨,能否筑起巨头...   这些天,很多奶茶店爆单了。  原因是互联网巨头正在开展的AI红包大战。  最近,阿里旗下AI应用...
新春走基层·走笔|风雪边关玉麦...   2月4日,时值立春,记者清晨从“日光城”拉萨驱车一路向南。翻过4座海拔超5000米的雪山,越过喜...
荒山长出果实 鲜蔬通达九州 他...   云南楚雄彝族自治州的元谋县,位于滇中高原北部,是著名的蔬菜种植大县。凭借得天独厚的气候优势,这里...
强强联合!四川味滋美拟被这家调... 微成都报道 2月11日,中炬高新与四川味滋美食品股份有限公司(以下简称“味滋美”)举行战略投资签约仪...
暗示付费优先购票,明确禁止!1... 北京市市场监督管理局约谈12家第三方火车票网络销售平台 近日,北京市市场监督管理局组织携程、去哪儿...