gpt4 book ai didi

visual-studio-code - 如何在 VS Code 中使用键盘垂直移动选定的文本

转载 作者:行者123 更新时间:2023-12-04 04:22:02 24 4
gpt4 key购买 nike

我可以分别用 alt+up 和 alt+down 向上或向下移动整行。我可以使用 Move Caret Left 向左或向右移动选定的文本或 Move Caret Right , 分别(默认情况下是未绑定(bind)的,至少在 Mac 上是这样)。有没有办法使用键盘向上或向下移动选定的文本(不是整行)?

最佳答案

这是我最好的 - 你需要写一个我认为改进它的扩展 - 但它可能对你有用。使用像 multi-command 这样的宏扩展

设置.json:

"multiCommand.commands": [
{
"command": "multiCommand.moveCopyUp",
"sequence": [
"undo",
"cursorUp",
"editor.action.clipboardPasteAction",
]
},
{
"command": "multiCommand.copyAndMoveSelectionUp",
"sequence": [
"editor.action.clipboardCutAction",
"cursorUp",
"editor.action.clipboardPasteAction",
]
},
{
"command": "multiCommand.copyAndMoveSelectionDown",
"sequence": [
"editor.action.clipboardCutAction",
"cursorWordStartLeftSelect",
"cursorDown",
"editor.action.clipboardPasteAction",
]
},
{
"command": "multiCommand.moveCopyDown",
"sequence": [
"undo",
"cursorWordStartLeftSelect",
"cursorDown",
"editor.action.clipboardPasteAction",
]
}
]

和 keybindings.json:
 {
"key": "alt+u",
"command": "multiCommand.moveCopyUp",
"when": "!editorHasSelection && textInputFocus && !editorReadOnly"
},

{
"key": "alt+u",
"command": "multiCommand.copyAndMoveSelectionUp",
"when": "editorHasSelection && textInputFocus && !editorReadOnly"
},

{
"key": "alt+d",
"command": "multiCommand.copyAndMoveSelectionDown",
"when": "editorHasSelection && textInputFocus && !editorReadOnly"
},

{
"key": "alt+d",
"command": "multiCommand.moveCopyDown",
"when": "!editorHasSelection && textInputFocus && !editorReadOnly"
},

或您选择的任何键绑定(bind)。这假定您要剪切要移动的选择(如果不让我知道,我可以修改它以适应将所选文本的初始实例留在原处)。

这确实要求您在调用上移/下移命令之前进行实际选择。并且该文本将被剪切到剪贴板并最终粘贴到向上/向下的行中。移动的文本将严格向上/向下移动,例如,不会移动到单词的下一个结尾——尽管我认为可以添加。

这将适用于移动插入符号左/右命令 如果先完成这些 .否则,粘贴时选定的范围会丢失-尽管它可以存储在扩展中。这是一个演示(不幸的是演示 gif 显示了一个被跳过的行 - 它实际上并没有这样做):

demo of moving selections

关于visual-studio-code - 如何在 VS Code 中使用键盘垂直移动选定的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58979082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com