VS Code 多光标 - 重复粘贴单行

VS Code Multiple Cursors - Paste Individual Lines Repeatedly

我正在使用带有 VI 绑定的 VS Code,我正在尝试执行以下操作。

我有以下文件内容:

abc="some value"
def="some other value"
ghi="some other other value"
jkl="some other other other value"
.
<etc. for many lines>

我想将此文件更改为(预期输出):

abc=${abc}
def=${def}
ghi=${ghi}
jkl=${jkl}

到目前为止,我首先将=.+替换为=${。我得到以下信息:

abc=${
def=${
ghi=${
jkl=${

然后我尝试通过 Cntrl + Alt + I 在 VS Code 中使用多个光标,我试图从头开始复制每一行以粘贴它,以便获得预期的输出。出于某种原因,当我执行 Cntrl + Home 时,它​​不让我 select 整行。有人可以帮我解决这个问题吗?

供参考:我的settings.json文件的VI部分如下:

// my settings
    "vim.easymotion": true,
    "vim.sneak": true,
    "vim.incsearch": true,
    "vim.useSystemClipboard": true,
    "vim.useCtrlKeys": true,
    "vim.hlsearch": true,
    "vim.handleKeys": {
    "<C-a>": false,
    "<C-f>": false,
    "<C-w>" : false,
    "<C-x>" : false,
    "<C-c>" : false,
    "<C-h>" : false,
    "<C-b>" : false,
    "<C-n>" : false
    },

我不使用 VI,但使用代码片段(在您的 keybindings.json 中)很容易做到这一点。

{
  "key": "alt+b",                               // whatever keybinding you wish
  "command": "editor.action.insertSnippet",
  "args": {
    "snippet": "${TM_SELECTED_TEXT/(.*)=.*/=${}/g}"
  },
  "when": "textInputFocus && editorHasSelection"
}, 

然后 select 您的代码和 alt+b (或您使用的任何键绑定)。您不需要多个光标,也不需要单独 select 每行。

为什么它不适用于多光标?

使用默认键绑定。

  • 将光标定位在a
  • 之前
  • 随意使用Ctrl+Alt+向下箭头
  • =
  • Ctrl+C
  • 右箭头2次
  • Shift+End select全部在=
  • 之后
  • ${
  • Ctrl+V
  • Esc

或开始 selecting =" 然后

Ctrl+Shift+L LeftArrow Shift+Home Ctrl+X RightArrow Shift+End ${ Ctrl+V 主页 Ctrl+V Esc