VSCode中Vim使用(详细)

您所在的位置:网站首页 搜索切换插件怎么设置不了 VSCode中Vim使用(详细)

VSCode中Vim使用(详细)

2024-07-11 04:37:52| 来源: 网络整理| 查看: 265

文章目录 Vim基础键映射模式光标移动编辑技巧 常用命令自带插件其他

Vim基础 键映射 { /* vim */ "vim.incsearch": true, "vim.useSystemClipboard": true, // "vim.hlsearch": true, 对/字符串的搜索方式来说,搜索到的结果一直高亮显示,不设置这一项美观些 "vim.easymotion": true, // 启用vim-easymotion "vim.leader": "", // easymotion中,leader键映射为空格键 "vim.sneak": true, // 启用vim-sneak "vim.insertModeKeyBindings": [ { "before": ["j", "j"], "after": [""] } ], "vim.normalModeKeyBindingsNonRecursive": [ // 到行首^映射为H,到行尾$映射为L { "before": ["H"], "after": ["^"] }, { "before": ["L"], "after": ["$"] }, // easymotion快速跳转映射,s + { "before": ["", "s"], "after": ["", "", "s"] }, // leader+u/d 代替 Ctrl+u/d 使页面向上/下滚动半屏 { "before": ["leader", "u"], "after": [""] }, { "before": ["leader", "d"], "after": [""] }, // 删到行首/行尾 暂时只能用leader + H/L,若dH/L会删除此处到代码开头/结尾 { "before": ["leader", "H"], "after": ["d", "^"] }, { "before": ["leader", "L"], "after": ["d", "$"] } ], // 可视模式 "vim.visualModeKeyBindingsNonRecursive": [ { "before": ["H"], "after": ["^"] }, { "before": ["L"], "after": ["$"] } ], "vim.useCtrlKeys": true, //结合下面的"vim.handleKeys"配置 "vim.handleKeys": { "": false, "": false, // 带有vim插件的vscode,它的Ctrl+w是由vscode控制,非vim插件扩展快捷键控制。若改为true,则就是了。 "": false } } 模式

普通模式 Normal 插入模式 Insert 可视模式 Visual 命令模式 : 替换模式Replace在这里插入图片描述 注:若配置了"vim.sneak": true则s与S就不起作用

光标移动 字符单词行跳转句和段h 左w下一个单词开头0 行首f char 跳到char位置( 到句首j 下b本单词或上一个单词开头^ 行首非空字符F char 反向) 到句尾k 上e本单词或下一个单词结尾$ 行尾t char char前一位置{ 到段首l 右ge上一个单词结尾gg 首行T char char后一位置} 到段尾W长单词 E长单词 B长单词G 尾行; 重复上次的跳转ngg 第n行, 反向查找上次的查找

% 移动到与光标所在括号相对应的另一半括号上(对小括号,中括号和大括号有用,尖括号无用) 注:比较的全面,但是看每个人的习惯不同,惯用的就会不同。上述是普通模式和可视模式的光标移动,它们完全一致,由于插入模式下的光标移动快捷键和很多VSCode内置快捷键冲突,这里就不介绍了,在文章末尾有写

方便编辑和阅读代码的操作如下(不仅仅限于光标移动,包含tricks等):

类型1 zt 屏幕滚动使得当前行成为屏幕的最上面一行 zz 中间一行 zb 最下面一行 zc 关闭代码块 zo 打开代码块 za 打开或关闭代码块

类型2 Ctrl + 0:跳转到侧边栏,并可以用jk上下移动,空格打开文件或者文件夹 Ctrl + 2:增加一个工作区栏,以此类推,Ctrl + 1:跳到第一个工作区栏 Ctrl + N:新建文件 Ctrl + Shift + N:新建文件夹(这两个在Settings -> Keyboard Shortcuts -> 搜索explorer.new -> 自定义 l:从侧边栏回到未跳转前的文件工作区,或者新打开的文件工作区 gt(go to tab):跳到下一个标签页 gT(go to tab):跳到上一个标签页 ngt(go to tab):跳到第n个标签页

类型3 gh(go to hover):悬浮查看一些文档,签名 gd(go to destination):跳转到定义声明或具体描述的地方 Ctrl + o:回到跳转之前的地方 Ctrl + i:与之相反 gb:光标置于单词的任意位置,输入一个gb,就选中一相同的单词(想选中4个相同的单词就连续输入gb4次 ==:格式化代码 gcc:注释本行代码 gcnj/ngcj:注释从本行和下方n行的代码 gcnk/ngck:注释从本行和上方n行的代码

编辑技巧 操作符opertator 4个d 剪切(delete)x 剪切光标所停留的那个字符 X 剪切光标所停留的前一个字符c 删除并进入插入模式(change)y 复制(yink) 介词 2个i 表示里面a 表示外面 名词 9个光标移动之字符 h j k l光标移动之单词 w b e…光标移动之行 ^ $ ngg…光标移动之跳转 f F …光标移动之句段 ( {( { [’`" 各种括号引号t 标签a 全部e 全文

公式1:操作符

dd:剪切一行 3dd/d3d:剪切包括本行在内的三行 以此类推

公式2:操作符 + 名词(前五个)

3dh/d3h:剪切光标所停留字符的左三个字符 3dj/d3j:剪切光标所在行及下面三行 db:剪切光标所停留单词到开头 dngg:剪切本行到第n行 dfn:剪切到当前行到下一个n字符 d{:剪切到段落开头

公式3:操作符 + 介词 + 名词(重点后四个)

diw 剪切当前光标所停留单词,或输入gbw di(:删除( )中的所有内容 da(:删除( )中同时包括( )的所有内容 dit:剪切标签对中的内容,不包含标签对 dat:剪切标签对中的内容,包含标签对 yia:这个我试了以下,在for…in和for…of里面可以复制,其它的暂且不知 yie:复制全文

其它操作符及编辑技巧 6个rx 用字符x替换光标位置的字符 nrx 用x字符替换光标位置前的n个字符 R 进入替换模式p 粘贴到当前光标的右边/下一行 P 粘贴到当前光标的左边/上一行 np(nP) 重复粘贴内容n次> 向后缩进u 撤销操作. 再次执行刚执行过的命令

注:上述展示的都是很常用的Vim普通模式下的编辑技巧

常用命令

相信尝试过上述的Vim基础后,用一段时间的你,一定能够掌握好适合的常用命令

小技巧:

Ctrl 键有时候可以用小拇指指根摁VSCode内置的 Alt + ↑/↓ 将当前行或者块(visualmode选择即可)上/下移大写字母可以使用 Shift + 字母 自带插件

vim-easymotion:Vim插件介绍里vim-easymotion有详细说明,常用的有以下(键映射中有)在这里插入图片描述

vim-surround:同上,可以自己尝试,以下例子

Old text Command New text Hello world vS" "Hello world" "Hello world" ds" Hello world Hello world ysiw[ [ Hello ] world Hello world ysiw] [Hello] world [Hello] world cs]" "Hello" world "Look ma, I'm *HTML!" cs" Look ma, I'm HTML! Yo!* dst Yo! Yo!* cst

Yo!

vim-sneak:同上,和easymotion有些像,但是有自己的方便之处

其他

切换大小写

~ 将光标下的字母改变大小写 3~ 将光标位置开始的3个字母改变其大小写 g~ 改变当前行字母的大小写, gUU 将当前行的字母改成大写 guu 将当前行的字母改成小写 gUaw或gUiw 将光标下的单词改成大写 guaw或gUaw 将光标下的单词改成小写

其它跳转方式

/string,n下翻查询结果,N上翻查询结果,enter跳转(string代表你想查找的内容)

插入模式下的光标移动

个人习惯是,在插入模式下且移动的范围很小的时候,选择性的使用插入模式下的光标移动,它的原生vim中的快捷键如下(不过很多与VSCode内置快捷键是冲突的,我是直接使用↑/↓/←/→新手使用Vim先适应模式切换,暂且不用插入模式下的光标移动可能更锻炼一些)

快捷键作用Ctrl + pupCtrl + ndownCtrl + bleftCtrl + frightCtrl + a到行首Ctrl + e到行尾Ctrl + hdelete 1Ctrl + wdelete back 1 wordCtrl + udelete back to start of line

屏幕滚动

原生vim的快捷键如下

快捷键功能Ctrl + v向上滚屏Ctrl + e向下滚屏Ctrl + u向上滚半屏Ctrl + d向下滚半屏Ctrl + b向上滚整屏Ctrl + f向下滚整屏

参考链接

All About Vim

新手如何正确入门vim?

在VSCode中使用Vim的正确方式

指尖飞舞:vscode + vim 高效开发(系列视频)

vim常用命令总结 (转)

vscode和chrome使用vim

vim中的杀手级插件: surround

非常感谢!!!



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭