VIM常用操作记录


前言

结合了官方文档和一些博主的分享内容,并根据公司的GIT操作要求在这里总结了一篇比较简要的文章,希望多多少少可以帮到大家


一、VSCODE使用VIM

1.安装VIM插件

vim插件有很多很多,我们可以选择被使用率最高的那个

打开vscode,ctrl + shift + x,搜索vim,就是下图这个

在这里插入图片描述

复制配置

然后我们可以把vim文档中的配置先复制到我们自己的 ctrl + shift + p 设置json文件里

{
  "vim.easymotion": true,
  "vim.incsearch": true,
  "vim.useSystemClipboard": true,
  "vim.useCtrlKeys": true,
  "vim.hlsearch": true,
  "vim.insertModeKeyBindings": [
    {
      "before": ["j", "j"],
      "after": ["<Esc>"]
    }
  ],
  "vim.normalModeKeyBindingsNonRecursive": [
    {
      "before": ["<leader>", "d"],
      "after": ["d", "d"]
    },
    {
      "before": ["<C-n>"],
      "commands": [":nohl"]
    }
  ],
  "vim.leader": "<space>",
  "vim.handleKeys": {
    "<C-a>": false,
    "<C-f>": false
  }
}

vim.handlekeys中屏蔽了某些组合键,防止和vscode快捷键冲突

<C-f>就是禁用了vim的Ctrl + F ,因为vim的Ctrl + F 是翻页,vscode的则是查找

不过这里还是建议用vim的查找功能吧,毕竟用都用vim了,还不来点全套的吗


2.其它配置

修改底部状态栏颜色

有时候不同模式可能不好分辨,这时候把vscode底部状态栏颜色改下就很容易区分了,前提你得先让底部状态栏可见

例如:

普通模式 墨绿色

在这里插入图片描述

插入模式 酒红色

在这里插入图片描述

可视化模式 灰蓝色

在这里插入图片描述

settings.json 配置如下

// vim基础3种模式对应的颜色
"vim.statusBarColors.normal": "#61d6af5d",
"vim.statusBarColors.insert": "#c75d9b52",
"vim.statusBarColors.visual": "#5168b35e",
"vim.statusBarColorControl": true,
// vim折叠代码防止自动展开
"vim.foldfix": true,
// 工作区自定义颜色,这里复制一下就可以了,不同vim模式下面的值是会跟着上面设置的自动改变的
"workbench.colorCustomizations": {
    "statusBar.background": "#61d6af5d",
    "statusBar.noFolderBackground": "#61d6af5d",
    "statusBar.debuggingBackground": "#61d6af5d",
    "statusBar.foreground": "#fff"
}

二、常用操作命令

VIM的命令厉害的太厉害,简单的太简单。因为还有很多高难度的表达式替换命令需要大家细细琢磨,所以这里简单梳理下常用的到的命令吧

光标操作

在你学会走之前,你要先学会爬。在你学会修改文件前,你要先学会移动光标。现在,给我学!

以后玩游戏上下左右就都改成 J K H L


文章部分

命令说明
gg跳转至文件头
G跳转至文件尾
行号 + G 或 : + 行号跳转到指定行的开头
N + %跳转到文件 N% 处
{ 和 }按段落移动,上移/下移
ctrl + b / f上/下翻一屏
ctrl + u / d上/下翻半屏
ctrl + y / e向上/下滚动一行
z + t / z / b将当前行移动到屏幕 顶端/中央/底端
H / M / L将光标移动到屏幕 顶端 /中央 / 底端
gd跳转到局部变量定义处

词组部分

命令说明
w(小写)词组正向跳转到下一个单词开始 (以空格和符号作为分隔)
W(大写)词组正向跳转到下一个单词开始 (以空格作为分隔)
e(小写)词组正向跳转到下一个单词结尾 (以空格和符号作为分隔)
E(大写)词组组正向跳转到下一个单词结尾 (以空格作为分隔)
b(小写)词组反向跳转(以空格和符号作为分隔)
B(大写)词组反向跳转(以空格作为分隔)

行部分

命令说明
0到行头
$到行尾
^到本行第一个不是blank字符的位置(blank:空格、tab、回车等)
g_到本行最后一个不是blank字符的位置
*跳转至下一个与当前光标相同的字符上,可跨行
#跳转至上一个与当前光标相同的字符上,可跨行
%匹配括号移动 ( 、{ 、[
f 和 F正向 / 反向 行内查找字符,可跨行
; 和 ,配合 f 和 t 实现 重复 / 反向重复操作
/ 和 ?后面 / 前面文本中查找内容,n / N 搭配用于向后 / 向前查找下一个

代码操作

代码标记

命令说明
m + {a-z}在当前文件,标记光标所在位置
:marks显示所有标记
` + {a-z} 和 ’ + {a-z}移动到标记 位置 / 行首
` + .移动到最后修改的地方
:delmarks a-c删除标记a、b、c ,如果一个字母则是删除单个
:delmarks !删除当前缓冲区所有标记

代码排版

命令说明
>> 和 <<文本行右移 / 左移
gq + N + q重新对 N行 排版
gq 和 gqq对选中内容重新排版,两个qq表示重排本行
~对选中内容大小写转换
u 和 U可视模式将内容转为小写 / 大写
zc 和 zo收起折叠 / 打开折叠

插入模式

命令说明
i / I光标后插入 / 在本行第一个非空字符处插入
a / A光标后插入 / 在本行最后一个字符处插入
o / O在本行下面 / 上面 插入新的一行
N + cc修改N行

复制粘贴

命令说明
yy 或 Y复制当前行
N + p复制后,在光标位置下一行开辟 N 行进行粘贴操作
p 和 P光标后 / 光标前粘贴

删除剪切

命令说明
N + dd删除(剪切)当前行在内的以下 N 行,不加 N 则是删除本行
d删除(剪切)可视模式选中的区域
D删除(剪切)光标后本行所有内容,包括光标所在字符
d0删除(剪切)光标前本行所有内容,不包括光标所在字符
daw 和 das删除(剪切)一个词或一个句子,光标不用在句首
N + x / X正向 / 反向按字符删除(剪切)
df + 字符从光标处删除至指定字符
ci / di / yi + 引号修改 / 剪切 / 复制引号内的内容
ca / da / ya + 引号修改 / 剪切 / 复制包括引号在内的内容
caw / daw / yaw修改 / 剪切 / 复制光标所在单词

总结

最后给大家一张很经典的图吧

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值