web*_*rc2 15 macos visual-studio-code
在我的标准 MacOS 终端中,alt+delete 会删除到前面的单词,但在 VS Code 嵌入式终端中,它会删除到前面的space。奇怪的是,alt+left 正确地将光标移动到前一个单词。例如,foo bar.baz在光标之前给出,alt+delete 将删除bar.baz,而 alt+left 将光标移动到 的开头baz。有没有办法获得正确的删除单词功能?
2020 年 7 月更新:有关 cmd.exe,请参阅https://github.com/microsoft/vscode/pull/98494
看来Ctrl+H很快就能删除 left 这个词了。
在我在其他地方看到一条评论说+可以删除回最后一个非单词字符后,对此进行更多调查sendSequence 对我有用(在 bash 上)。EscDelete
{
"key": "alt+delete", // whatever keybinding you want
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b\u007f" }, // delete word left to first non-word character
// = escape+delete
"when": "terminalFocus"
},
Run Code Online (Sandbox Code Playgroud)
它不会同时删除现在尾随的非单词字符,您必须将Backspace其剪掉。
在 v1.45 中可以设置集成终端的单词分隔符,请参阅https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_45.md#control-double-click-word- 使用此设置进行选择:
terminal.integrated.wordSeparators // only affects double-click selections, not deletions
Run Code Online (Sandbox Code Playgroud)
更新:同样在 v1.45 中,类似的终端命令deleteWordLeft已被删除。 https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_45.md#removal-of-several-prompt-lated-commands
以下命令已被删除:
Run Code Online (Sandbox Code Playgroud)workbench.action.terminal.deleteWordLeft workbench.action.terminal.deleteWordRight workbench.action.terminal.deleteToLineStart workbench.action.terminal.moveToLineStart workbench.action.terminal.moveToLineEnd这些命令通过向终端发送特定的字符序列来工作,这是根据终端使用的命令键绑定进行的尽力猜测。这些命令的问题在于它们是一个黑匣子,您需要逐字搜索 vscode 代码库才能弄清楚它们是如何工作的。它们已被命令的自定义键绑定所取代
workbench.action.terminal.sendSequence,该命令以通用方式执行相同的操作。这些是高级键盘快捷键,无法通过键盘快捷键 UI 完整查看,因为它们包含参数,但您可以通过运行“首选项:打开默认键盘快捷键 (JSON)”命令来查看它们的 JSON 定义:
这也应该可以帮助您学习如何使用强大的
sendSequence命令。
要删除终端左侧的单词,您可以使用Ctrl+ Backspace。
但这会导致您不想要的相同行为(删除所有bar.foo而不是仅删除foo),无论终端 wordSeparator 设置如何 - 不幸的是,它只影响双击选择而不是删除。
结合Mark和RxJx的建议,设置alt+在 macOS 上backspace为deleteWordPartLeft我工作。
{
"key": "alt+backspace",
"command": "workbench.action.terminal.deleteWordPartLeft",
"when": "terminalFocus"
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11314 次 |
| 最近记录: |