当前位置: 首页 > news >正文

程序员基础能力系列(1)——vim快捷键总结

文章目录

    • 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(复制回寄存器)

相关文章:

  • 常州网站开发公司推荐/网络推广的平台有哪些
  • 怀化网站开发/保定百度推广联系电话
  • 成都如何寻找做网站的/百度竞价被点击软件盯上
  • 项目计划书可行性报告/湖南seo优化排名
  • wap网站制作软件/seo网站优化方法
  • 珠海做网站优化/站长工具ip地址查询域名
  • [附源码]计算机毕业设计基于springboot的高校资源共享平台
  • [附源码]JAVA毕业设计课程在线反馈系统(系统+LW)
  • C#悬浮窗口 图像背景
  • 数据链路层-可靠传输实现机制(回退N帧协议GBN)
  • 文华财经期货多空趋势指标公式,期货幅图高抛低吸逃顶抄底精准买卖点信号系统
  • Linux MySQL下载安装
  • Springboot丽水土特产销售网站e80z4计算机毕业设计-课程设计-期末作业-毕设程序代做
  • 【每日一题】打卡 55
  • [附源码]计算机毕业设计校园帮平台管理系统Springboot程序
  • FileZilla Server.xml 如何配置
  • 计算机毕业设计Java电子存证系统(源码+系统+mysql数据库+lw文档)
  • 【网关路由测试】——容错行为测试