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
我正在使用带有 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