VSCode与vim

为什么

因为我要通过vscode写论文。那么就在配置好latex的前提下,使用vim无疑是最优解。
Windows下通过VSCode编写latex

需要做的工作

在vscode中提供了许多的插件。而Vim就可以完成这一功能
在这里插入图片描述
在插件商店搜索并安装,这一步骤很简单。比较磨人的几个点是

  1. 如何进行键位设置
  2. 如何屏蔽一些键位
  3. 如何实现中文输入环境的自动切换

    即我想写中文的文档,但是在normal模式下,我进行相关的命令操作,会出现下图。而不是直接执行命令。当我们想要输入文本的时候,insert环境下,直接输入的又不是中文
    在这里插入图片描述

相关设置

首先,贴上我的设置。只需要将这些设置复制粘贴到项目的setting.json中去,并且更改相应的路径即可。

    // 键位设置,屏蔽一些在windows下我们需要使用的键位。可以根据需要增删
    "vim.handleKeys": {
    "<C-a>": false,
    "<C-f>": false,
    "<C-x>": false,
    "<C-c>": false,
    "<C-h>": false,
    "<C-v>": false,
    "<C-w>": false
    },
    "vim.easymotion": true,
    "vim.incsearch": true,
    "vim.useSystemClipboard": true,
    "vim.useCtrlKeys": true,
    "vim.hlsearch": true,
    // 键位绑定工作。更多的可以参考插件的help文档
    "vim.insertModeKeyBindings": [
      {
        "before": ["j", "j"],
        "after": ["<Esc>"]
      }
    ],
    "vim.normalModeKeyBindingsNonRecursive": [
      {
        "before": ["<leader>", "d"],
        "after": ["d", "d"]
      },
      {
        "before": ["<C-n>"],
        "commands": [":nohl"]
      }
    ],
    "vim.leader": "<space>",

其实键位设置没有什么需要细说的东西。重点,或者说折磨人的还是下面的自动切换实现。

// // VIM配置,实现vim模式切换下自动的切换输入法模式。
    "vim.autoSwitchInputMethod.enable": true,
    "vim.autoSwitchInputMethod.defaultIM": "1033",
    "vim.autoSwitchInputMethod.obtainIMCmd": "E:\\to\\im-select.exe",
    "vim.autoSwitchInputMethod.switchIMCmd": "E:\\to\\im-select.exe {im}",
    "explorer.confirmDelete": false,

我当时看的教程是,鱼和熊掌:VSCode+Vim

在这里插入图片描述
下载了im-select之后,我是windows10,64位操作系统。这个im-select官方提供的windows平台解决方案不知道是我没看明白还是确实有问题。
好在多方面调研,终于解决了。

解决方案

对于我们下载的im-select,这个是没办法直接执行的。而是需要在命令行,并且为了避免未知的错误,保存的路径不要有中文, 空格
并且,需要设置我们的输入法备选方案。
我默认输入法是搜狗输入法中文。那么需要提供美式英文键盘
在这里插入图片描述

怎么设置语言首选项

直接左键点击那些输入法,有个语言首选项。进入设置界面。
在这里插入图片描述
需要确保有中文和英语。

然后点击中文(简体、中国)
在这里插入图片描述
键盘选择自己想用的输入法。
在这里插入图片描述
这里我就使用了搜狗拼音输入法,并且没有用其他的输入法。

通过im-select判断设置的参数

可以直接在vscode打开终端命令行(快捷命令ctrl + ~),进入到im-select的保存路径(注意路径格式)。需要做以下两个工作

  1. 在搜狗拼音的输入模式下,执行im-select,看输出数字是多少
    在这里插入图片描述

  2. 这时候在美式拼音的环境下,再次执行。注意,不是直接通过shift切换搜狗中文模式到搜狗英文模式。
    在这里插入图片描述
    必须要得到这两个神秘数字。至于是什么意思,我真不知道。

设置vim的自动切换

这时候,就有了之前贴的setting.json的一部分

    // // VIM配置
    "vim.autoSwitchInputMethod.enable": true,
    "vim.autoSwitchInputMethod.defaultIM": "1033", // 我的美式英文的神秘代码
    "vim.autoSwitchInputMethod.obtainIMCmd": "E:\\to\\im-select.exe", // 修改相应的路径
    "vim.autoSwitchInputMethod.switchIMCmd": "E:\\to\\im-select.exe {im}", // 修改相应的路径,{im}保留
    "explorer.confirmDelete": false,

这时候,就能够愉快地编写中文文档了。

参考文档

  1. 鱼和熊掌:VSCode+Vim
  2. im-select: Switch your input method from terminal
<think>好的,我现在需要帮助用户解决如何在VSCode中退出Vim模式的问题。首先,我要确认用户的问题是什么。用户在使用VSCode时启用了Vim模式,现在不知道如何退出这个模式。可能用户不小心进入了Vim模式,或者安装了Vim扩展但不知道如何禁用。 接下来,我需要回忆一下VSCodeVim模式的相关知识。VSCode本身并不内置Vim模式,通常是通过安装Vim扩展来实现的,比如“Vim”扩展由vscodevim开发。因此,退出Vim模式的方法可能涉及到禁用或卸载这个扩展,或者调整设置。 然后,我应该分步骤思考解决方法。首先,用户可能需要知道如何临时退出插入模式,也就是在Vim的正常模式下按i进入插入模式,按Esc退出到正常模式。但用户可能指的是完全禁用Vim的键位绑定,这时候可能需要禁用扩展或者修改设置。 另外,有些用户可能安装了多个Vim相关的扩展,需要确认是哪个扩展导致的。常见的扩展是“Vim”这个,所以可能需要指导用户如何禁用或卸载它。 还要考虑到用户可能不想完全卸载扩展,而是想临时禁用Vim模式,这时候可以修改VSCode的设置,例如将"vim.enable"设为false。这需要指导用户如何进入设置界面,搜索相关设置项。 还需要检查是否有其他扩展或配置可能冲突,但用户的问题比较明确,是如何退出Vim模式,所以主要步骤应该是禁用扩展或调整设置。 最后,确保回答清晰,步骤详细,用户能一步步跟着操作。同时,可能需要生成相关问题,比如如何临时切换模式,或者如何自定义Vim键绑定等。</think>以下是如何在VSCode中退出Vim模式的详细步骤: ### 方法一:禁用Vim扩展 1. 打开VSCode左侧**扩展图标**(或按`Ctrl+Shift+X`) 2. 在搜索栏输入`@enabled vim` 3. 找到已安装的Vim扩展(通常名为"Vim"或"Vim Emulation") 4. 点击扩展旁边的**齿轮图标**,选择"Disable" 5. **立即生效**,所有Vim快捷键将恢复为默认VSCode操作[^2] ### 方法二:临时退出插入模式 若需要保留Vim扩展但临时使用标准编辑模式: 1. 按`Esc`键进入Vim的**普通模式** 2. 按`i`返回标准编辑模式(此时底部状态栏显示"INSERT") 3. 或使用`Ctrl+Shift+P`打开命令面板,输入`>Vim: Toggle Vim Mode`切换模式 ### 方法三:修改配置文件 对于高级用户,可通过设置永久禁用Vim键绑定: 1. 按`Ctrl+,`打开设置 2. 在搜索栏输入`vim.enable` 3. 取消勾选`Vim › Enable`复选框 4. 或直接在`settings.json`中添加: ```json { "vim.enable": false } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值