VSCode中Vim使用(详细) |
您所在的位置:网站首页 › 搜索切换插件怎么设置不了 › VSCode中Vim使用(详细) |
文章目录
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 % 移动到与光标所在括号相对应的另一半括号上(对小括号,中括号和大括号有用,尖括号无用) 注:比较的全面,但是看每个人的习惯不同,惯用的就会不同。上述是普通模式和可视模式的光标移动,它们完全一致,由于插入模式下的光标移动快捷键和很多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 非常感谢!!! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |