• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

vscode + vim + setting.json 设置

武飞扬头像
Fighting_Orz
帮助1


setting.json

{
    "workbench.colorTheme": "One Dark Pro Darker",
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "window.zoomLevel": 1,
    "security.workspace.trust.untrustedFiles": "open",
    "tabnine.experimentalAutoImports": true,
    "bracketPairColorizer.depreciation-notice": false,
    "vsicons.dontShowNewVersionMessage": true,
    "rust-analyzer.server.path": "D:\\.vscode\\extensions\\rust-analyzer-windows.exe",

      // disable cargo check on save
    "rust-analyzer.checkOnSave.enable": false,
    "rust-analyzer.checkOnSave.allTargets": false,
    
    "cmake.configureOnOpen": true,
    "terminal.integrated.profiles.windows": {
        "Git Bash": {
            "source": "Git Bash"
        },

        "PowerShell": {
            "source": "PowerShell",
            "icon": "terminal-powershell"
        },
        "Command Prompt": {
            "path": [
                "${env:windir}\\Sysnative\\cmd.exe",
                "${env:windir}\\System32\\cmd.exe"
            ],
            "args": [],
            "icon": "terminal-cmd"
        },
        "cmder":{ //使用 cmder 作终端
            "path": "C:\\work_software\\cmder\\vendor\\git-for-windows\\bin\\bash.exe",
            "args":[]
        },

    },
    "editor.fontSize": 15,
    "editor.insertSpaces": true,  // 按tab 时插入空格
    "files.autoSave": "afterDelay", // 文件自动保存,使用 vim 插件,就不用每次保存了
    "editor.renderWhitespace": "all", //  4个空格显示为 .... 
    "editor.detectIndentation": false, //不要检测到第一个是tab,就后面都用tab,这样会覆盖默认设置。
	"editor.renderControlCharacters": true, // tab 显示为 -->
	"cmake.generator": "MinGW Makefiles", // 要使用的 CMAKE 生成器

	// 启用vim 的情况下,使用 ctrl c 复制等能
	// 实现方法  关闭 vim 插件中,这些组合键的映射
    "vim.handleKeys": {
        "<C-a>": false,
        "<C-c>": false,
        "<C-x>": false,
        "<C-f>": false,
        "<C-h>": false,
        "<C-s>": false,
        "<C-z>": false,
        "<C-y>": false,
    },
	// 启用系统剪贴板,即 vim 复制的内容会自动复制到 系统剪切板
	// 比如 使用 yy 复制一行后,在系统其他文件中 ctrl v 即可粘贴该内容
    "vim.useSystemClipboard": true,
}
学新通

vscode tab 使用空格表示

1、在vscode下边栏点击 “空格” 在上面选项里设置 使用空格缩进, 以及可以 将缩进转换为空格
2、在“文件->首选项->设置”的“用户设置”里添加

"editor.detectIndentation": false,
"editor.renderControlCharacters": true,
"editor.renderWhitespace": "all",

第一个改成false目的是:不要检测到第一个是tab,就后面都用tab,这样会覆盖默认设置。
第2 3个显示 制表符是 4个空格是 ....

vim 使用 Ctrl c 复制

在使用中经常想使用ctrl-c,虽然在vscode中有配置选项可以让vim与ctrl键解绑,但是这样就使用不了vim的VISUAL BLOCK。
所以进行了自定义设置。
思想:停止使用 vim 插件中的对应快捷键,因为冲突后,会使用vim的快捷键覆盖系统快捷键

	// 启用vim 的情况下,使用 ctrl c 复制等能
	// 实现方法  关闭 vim 插件中,这些组合键的映射
    "vim.handleKeys": {
        "<C-a>": false,
        "<C-c>": false,
        "<C-x>": false,
        "<C-f>": false,
        "<C-h>": false,
        "<C-s>": false,
        "<C-z>": false,
        "<C-y>": false,
    },

vim 复制到系统剪切板配置方法

这么配置好处:
vim 复制快捷键和系统剪贴板组合使用,功能更强大

比如 vscode 执行 yy 复制一行后,可在别处直接 ctrl v 复制, 更加方便
vim 块模式复制 同理
其它好处 可自行探索

缺点:
vim 删除会自动保存到寄存器中,但这样设置之后,也会同步保存到系统剪切板,导致 ctrl v 不是想要的结果

觉得不爽,关闭该功能,使用前一内容 启动 ctrl c 等快捷键即可

方法1:界面设置方式

学新通
学新通

方法2:直接修改 setting.json 文件

首先 ctrl shift p 调出命令面板
之后 输入 setting.json
选择 打开设置(json)
添加语句 "vim.useSystemClipboard": true,
学新通
学新通

vim 复制指定寄存器中的内容

引用一个寄存器

Vim 的删除、复制和粘贴都会用到众多寄存器中的一个 。 可以通过给命令加 "{register}
前缀的方式指定要用的寄存器。若不指明,Vim 将使用无名寄存器。

举例
如果想把当前单词复制到寄存器 a 中, 可以执行 "ayiw 。
把当前整行文本剪切到寄存器 b 中, 可以执行 "bdd 。

"ap 可以粘贴来及寄存器 a 的单词, "bp 可以粘贴来及寄存器 b 的一行文本,两者互不干扰。

无名寄存器(“”)

倘若我们没有指定使用寄存器, Vim 将缺省使用无名寄存器,它可以双引号表示。

举例
例如 ""p 这个命令,他完全等同于 p 命令。

复制专用寄存器 ("0)

当使用 y{motion} 命令时,要复制的文本不仅会拷贝到无名寄存器中,同时也拷贝到了复制专用寄存器中。后者可以用数字 “0” 加以引用。

举例
例如有以下代码

 var myCat1 = new cat();
 var myCat2 = new dog();

现在想要把 “dog” 换为 “cat”。若是之前不知道寄存器这个概念的话,场景会是这样:

1.光标到 “cat” 上面,按下 yiw 复制这个单词
2.把光标移动到 “dog” 上面,按下 diw 删除这个单词
3.按下 p 粘贴
4.变成傻逼:本来想粘贴 “cat” 的,结果粘贴的内容却是 “dog” ,第一步复制的 “cat” 不见了

发生这个问题原因是一直使用的是无名寄存器,当删除单词时,删除操作会把单词放到无名寄存器中,把之前复制的内容给“挤”走了。

现在有了复制专用寄存器就不虚了。在最后粘贴的时候按下 "0p 而不是 p 就完美的解决了这个问题。

 var myCat1 = new cat();
 var myCat2 = new cat();

有名寄存器("a - "z)

Vim 提供了一组以 26 个英文字母命名的寄存器,这意味着我们可以复制、剪切或者粘贴多达 26 段文本。
上面改名字的问题使用有名寄存器也能很轻松地解决,这里就不再赘述了。

  • 用小写字母引用有名寄存器,会覆盖该寄存器的原有内容。
  • 用大写字母引用有名寄存器,会将新内容添加到原有内容之后。

黑洞寄存器 ("_)

想要删除一段文本而不想保留副本时,黑洞寄存器就很管用了。
使用 "_diw 删除一个单词时, 不会将之前无名寄存器的内容覆盖。

系统剪切板(“ )与选择专用寄存器(”*)

到目前为止,讨论的寄存器都是 Vim 内部的,如果想从 Vim 复制内容到外部,则必须使用系统剪切板。

Vim 的加号寄存器与系统剪切板等效,可用 号引用。 比如现在从别的程序中复制了一段文本,在 Vim 中,就可以通过 " p
命令将其粘贴到 Vim 内部。 如果在 Vim 的复制、粘贴和剪切命令之前加上 " ,相应的文本会捕捉至系统剪切板。

在 Windows 和 Mac OS 中, " 寄存器 和 "* 寄存器 可以混用。

原文链接:https://www.jianshu.com/p/80bc31f096ba

vscode 常用快捷键

ctrl ~ : 打开 或者 切换到终端
ctrl 1: 切换到文本

拆分终端模式下
alt 方向键 : 切换终端

参考链接

1、vscode中vim插件对ctrl键的设置
2、vscode 开启vim系统剪切板模式
3、Vim 笔记 chapter2:复制粘贴、寄存器

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgaeaif
系列文章
更多 icon
同类精品
更多 icon
继续加载