Bootstrap

vscode + vim : vscode 全键盘使用方案

简介

mirro-vscode Github 地址 : https://github.com/Imymirror/mirror-vscode

mirror-vscode 是关于 VSCode 使用过程中积累的一份备忘录.

mirror-vscode 是基于个人使用习惯的一份 VSCode 配置.

由于重度依赖 vim 的操作方式来提高编辑文本的效率, 所以 mirror-vscode 也是基于 的一份 vim 配置方案, 组合后的使用体验类似于 Spacemacs, SpaceVim.

速查表

默认 Leader key 是 ,

: 我通过 插件导出一份公开的配置.

如何使用我的配置?

如果你想直接使用我的配置, 有两种方案:

  • 从应用商店下载 插件

  • , -> , 填入 我的 public Gist ID .

  • ,

我对 VSCode 做了哪些配置

导航栏跳

:


  {
    "key": "ctrl+h",
    "command": "workbench.action.navigateLeft"
  },
  {
    "key": "ctrl+l",
    "command": "workbench.action.navigateRight"
  },
  {
    "key": "ctrl+k",
    "command": "workbench.action.navigateUp"
  },
  {
    "key": "ctrl+j",
    "command": "workbench.action.navigateDown"
  },

替代

:

{
  "before": [
    "L"
  ],
  "after": [
    "$"
  ]
},
{
  "before": [
    "H"
  ],
  "after": [
    "^"
  ]
},

j/k 会打开折叠问题的修复

    // gj gk
    {
      "before": [
        "j"
      ],
      "after": [
        "g",
        "j"
      ]
    },
    {
      "before": [
        "k"
      ],
      "after": [
        "g",
        "k"
      ]
    },

markdown preview

关闭

隐藏左边活动栏大图标

左边活动栏图标太大了, 占用了不必要的视野面积. 我在 VSCode 90% 的场景下是键盘操作, 不会用到鼠标. 如果要进行 活动栏的界面导航, 使用的是

基于 VSCodeVim 和 Which-key 的类 Spacemacs 绑定

安装 后, vscode就拥有了vim的基础功能. 见

安装 之后, 就会有一份 .

我覆盖了 . 根据自己的习惯绑定了一份. 我会根据需要去增减 keybinding, 实际上是 .

如何禁用我的绑定, 使用 which-key 的绑定

如果想使用 , 很简单, 只需要注释掉 中的 字段:

一些问题的解决方案

vscodevim 解决英文输入法长按不打印多个字母

在 Terminal 里执行下列指令, 并重启 VSCode:

$ defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false         # For VS Code
$ defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false # For VS Code Insider
$ defaults delete -g ApplePressAndHoldEnabled  

如果你使用的是VSCodium, 在终端执行以下语句, 重启VSCode

如何将VSCode变成绿色版本

vscode 主要包含这几个部分: vscode 安装包, 扩展安装目录, keybindings.json, settings.json.

的位置在

Windows: %APPDATA%\Code\User
macOS: $HOME/Library/Application Support/Code/User
Linux: $HOME/.config/Code/User 

VSCode 将扩展存储在

第一种情况 : 从零开始配置VSCode

  • 下载地址 :

  • 下载完毕, 解压到任意文件夹

第二种情况 : 在VSCode已经有配置的前提下变成绿色版

前两步都一样

  • 下载地址 :

  • 下载完毕, Windows, Linux解压到任意文件夹, Mac本身就是一个完整的压缩包

创建数据文件夹(放置插件以及用户设置)

  • Mac 在 VSCode 同一层级的目录下创建文件夹

  • Windows 在解压后的文件夹内 创建文件夹

  • 拷贝已有的插件和用户数据到数据文件夹

  • 用户数据默认路径(剪切到第2步建立的数据文件夹下, 将Code改名为data)

      Windows %APPDATA%\Code
      macOS $HOME/Library/Application Support/Code
      Linux $HOME/.config/Code
  • 插件默认路径(直接剪切到第2步建立的数据文件夹下)

      Windows %USERPROFILE%\.vscode\extensions
      macOS ~/.vscode/extensions
      Linux ~/.vscode/extensions	

  • 绿色版制作完成

插件推荐

Setting Sync

将配置上传到 Gist, 到另一台机器只需要 下载配置, 就会下载插件, 自动化安装.

PasteURL

在 Markdown 中使用, 复制一个 URL 到剪贴板, Hit "Command + Shift + P" and then type Paste URL and hit enter. 会在当前光标位置生成 Markdown 风格的 Link.

我绑定了快捷键

PasteImage

在 Markdown 中, 使用截图工具截取屏幕到剪贴板中, , 自动将剪贴板中的截图保存到当前文件的同一层级目录的 下.

我绑定了快捷键

magit

Emacs 著名的 magit package 的一个替代 :

使用技巧 (tips and tricks)

vscode 官方 tips and tricks

https://code.visualstudio.com/docs/getstarted/tips-and-tricks

多光标操作模式(Multi-Cursor Mode)

如何进入多光标模式

第一种方法:

第二种方法:

退出多光标模式

Esc 退回,模式,再按一次 Esc 就会退出多光标模式.

VSCodeVim

gd gq gb af gh ae,ie

  • gd : 跳到定义

  • gq : 合并多行注释

  • gb : 移动到下一个单词, 跟当前光标所在的单词一样

  • af : visual mode 下不断选中更大的文本块

  • gh : 将鼠标悬停在贯标所在位置

  • ae, ie : 选中buffer所有文本

vim-indent-object

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 to end up with

: Surround when in visual modes (surrounds full selection)

注释

: 注释当前行 : 往下注释两行 : 注释括号之间的内容

easymotion