vscode + vim : vscode 全键盘使用方案
简介
mirro-vscode Github 地址 : https://github.com/Imymirror/mirror-vscode
mirror-vscode 是关于 VSCode 使用过程中积累的一份备忘录.
mirror-vscode 是基于个人使用习惯的一份 VSCode 配置.
由于重度依赖 vim 的操作方式来提高编辑文本的效率, 所以 mirror-vscode 也是基于 VSCodeVim 和 vscode-which-key 的一份 vim 配置方案, 组合后的使用体验类似于 Spacemacs, SpaceVim.
速查表
VSCodeVim 提供了 Vim 的基础功能 ROADMAP
默认 Leader key 是 <space>
, 我的快捷键速查表
Gist cloudSettings : 我通过 vscode Setting Sync 插件导出一份公开的配置.
如何使用我的配置?
如果你想直接使用我的配置, 有两种方案:
使用 Setting Sync 插件 : 推荐. 这种方式会将 配置文件连同插件 一起下载, 过程完全自动化. 只需等待一小会,环境即搭建完成
从应用商店下载
Setting Sync
插件ctrl + shift + p
,sync:Advanced Options
->sync:Open Settings
,Environment Settings
填入 我的 public Gist IDdf3b3a5e832c1f3cb7423786836d6abd
.ctrl + shift + p
,sync: Download Setting
从公开的 Gist cloudSettings 上面复制黏贴相关配置到你的本地配置文件中(主要是
setting.json
). 当然首先要安装两个核心扩展 VSCodeVim 和 vscode-which-key .
我对 VSCode 做了哪些配置
ctrl + hjkl
导航栏跳
keybindings.json
:
H,L
替代 ^$
setting.json
:
j/k 会打开折叠问题的修复
markdown preview
关闭 preview 滚动的时候, Markdown 文件跟着滚动
"markdown.preview.scrollEditorWithPreview": false,
隐藏左边活动栏大图标
左边活动栏图标太大了, 占用了不必要的视野面积. 我在 VSCode 90% 的场景下是键盘操作, 不会用到鼠标. 如果要进行 活动栏的界面导航, 使用的是 <SPC> n + 具体窗口字幕
"workbench.activityBar.visible": false,
基于 VSCodeVim 和 Which-key 的类 Spacemacs 绑定
安装 VSCodeVim 后, vscode就拥有了vim的基础功能. 见 ROADMAP
安装 vscode-which-key 之后, 就会有一份 默认的keybinding.
我覆盖了 which-key
默认的keybinding. 根据自己的习惯绑定了一份. 我会根据需要去增减 keybinding, 实际上是 默认绑定的阉割修改版+自己的绑定
.
如何禁用我的绑定, 使用 which-key 的绑定
如果想使用 which-key
默认的keybinding , 很简单, 只需要注释掉 setting.json
中的 whichkey.bindings
字段:
"whichkey.bindings": [
// lots of keybindings here
// ...
]
一些问题的解决方案
vscodevim 解决英文输入法长按不打印多个字母
在 Terminal 里执行下列指令, 并重启 VSCode:
如果你使用的是VSCodium, 在终端执行以下语句, 重启VSCode
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
如何将VSCode变成绿色版本
Portable Mode in Visual Studio Code
vscode 主要包含这几个部分: vscode 安装包, 扩展安装目录, keybindings.json, settings.json.
keybindings.json, settings.json
的位置在
VSCode 将扩展存储在 ~/.vscode/extensios
第一种情况 : 从零开始配置VSCode
下载压缩包
下载完毕, 解压到任意文件夹
创建数据文件夹(放置插件以及用户设置)
绿色版制作完成
第二种情况 : 在VSCode已经有配置的前提下变成绿色版
前两步都一样
下载压缩包
下载完毕, Windows, Linux解压到任意文件夹, Mac本身就是一个完整的压缩包
创建数据文件夹(放置插件以及用户设置)
Mac 在 VSCode 同一层级的目录下创建文件夹
code-portable-data
Windows 在解压后的文件夹内 创建文件夹
data
拷贝已有的插件和用户数据到数据文件夹
用户数据默认路径(剪切到第2步建立的数据文件夹下, 将Code改名为data)
插件默认路径(直接剪切到第2步建立的数据文件夹下)
绿色版制作完成
插件推荐
Setting Sync
将配置上传到 Gist, 到另一台机器只需要 Sync:Download
下载配置, 就会下载插件, 自动化安装.
PasteURL
在 Markdown 中使用, 复制一个 URL 到剪贴板, Hit "Command + Shift + P" and then type Paste URL and hit enter. 会在当前光标位置生成 Markdown 风格的 Link.
我绑定了快捷键 <space> a u
PasteImage
在 Markdown 中, 使用截图工具截取屏幕到剪贴板中, Cmd+Alt+V
, 自动将剪贴板中的截图保存到当前文件的同一层级目录的 Image/
下.
我绑定了快捷键 <space> a i
magit
Emacs 著名的 magit package 的一个替代 : kahole/edamagit
使用技巧 (tips and tricks)
vscode 官方 tips and tricks
https://code.visualstudio.com/docs/getstarted/tips-and-tricks
多光标操作模式(Multi-Cursor Mode)
如何进入多光标模式
第一种方法:
选中字符
cmd+d 或者 gb
第二种方法:
alt + shift + 鼠标移动
退出多光标模式
Esc 退回,normal multi-cursor
模式,再按一次 Esc 就会退出多光标模式.
VSCodeVim
gd gq gb af gh ae,ie
gd : 跳到定义
gq : 合并多行注释
gb : 移动到下一个单词, 跟当前光标所在的单词一样
af : visual mode 下不断选中更大的文本块
gh : 将鼠标悬停在贯标所在位置
ae, ie : 选中buffer所有文本
vim-indent-object
cib/ci{/ci[/cit
vim-surround
"test" with cursor inside quotes type cs"' to end up with 'test'
"test" with cursor inside quotes type ds" to end up with test
"test" with cursor inside quotes type cs"t and enter
123>
to end up with<123>test</123>
S <desired char>
: Surround when in visual modes (surrounds full selection)
注释
gcc
: 注释当前行gc2j
: 往下注释两行gci)
: 注释括号之间的内容
easymotion
版权声明: 本文为 InfoQ 作者【lmymirror】的原创文章。
原文链接:【http://xie.infoq.cn/article/654e137365b09e217f57bc965】。文章转载请联系作者。
评论 (3 条评论)