VSCode:如何让Ctrl + k杀到行尾?

时间:2018-05-28 14:58:57

标签: terminal visual-studio-code keyboard-shortcuts vscode-settings

在Visual Studio代码中,Ctrl-k快捷方式绑定到clearing the terminal

我已经将bash配置为Windows中的终端,并希望它能够使用传统的Emacs密钥绑定来表现,也就是说,它会杀死该行的末尾。

我尝试在用户设置中禁用此配置的默认密钥绑定,但它不起作用:

commandsToSkipShell": [
        "workbench.action.terminal.clear"
      ]

如何让终端服从我20年训练的肌肉记忆?

4 个答案:

答案 0 :(得分:9)

如果您有多年的Unix shell肌肉记忆,并且想阻止VSCode捕获键盘快捷键,请关闭allowChords。在较新的VSCode版本中,您只需打开File -> Preferences -> User (tab),搜索allowChords并取消选中它即可。

或者您可以编辑%APPDATA%\Code\User\settings.json文件并将其放置:

   "terminal.integrated.allowChords": false

现在很多命令都可以使用:

  • Ctrl + K用于杀死直到行尾,
  • Ctrl-Y从上方粘贴终止线
  • Ctrl + R在历史记录中搜索命令,
  • 然后Ctrl + A转到行的开头

我在此线程中还有另一个答案,但是我认为这是一个更好的解决方案。这是documentation

如果仅想解决Ctrl-K行为,请参见其他答案。

答案 1 :(得分:1)

刚发现它!您需要在配置之前添加减号

$room = App\Room::
    whereNotIn('id',App\ReservedRoom::select('camera_id')
    ->where(function ($query) {
        $query->where([['checkin','<','mycheckin'],
            'checkout','<','mycheckin']])
            ->orWhere([['checkin','>','mycheckout'], 
            ['checkout','>','mycheckout']])
        }))->get();

看起来配置选项已重命名,因此我编辑了现在正在为我工​​作的内容(2018年11月)。

答案 2 :(得分:1)

对于那些在2019年11月之前进行查找的人,只需将以下内容复制并粘贴到keybindings.json文件中即可:

{
    "key": "ctrl+k",
    "command": "-workbench.action.terminal.clear",
    "when": "terminalFocus"
},

答案 3 :(得分:1)

遇到同样的问题。将此片段添加到keybindings.json中可以正常工作:

{
  "key": "ctrl+k",
  "command": "deleteAllRight",
  "when": "terminalFocus"
}