比如我想把前三个 1 替换成 weight,在 vscode ,我会先选中第一个,然后按两次 Ctlr+D 在下一个光标重复选中,然后输入 weight 批量编辑。使用 VIM 如何操作?
[1, 0, 0, 0, 0] [0, 1, 0, 0, 0] [0, 0, 1, 0, 0] [0, 0, 0, 0, 1] [1, 0, 0, 1, 0]
比如我想把前三个 1 替换成 weight,在 vscode ,我会先选中第一个,然后按两次 Ctlr+D 在下一个光标重复选中,然后输入 weight 批量编辑。使用 VIM 如何操作?
[1, 0, 0, 0, 0] [0, 1, 0, 0, 0] [0, 0, 1, 0, 0] [0, 0, 0, 0, 1] [1, 0, 0, 1, 0]
|
PyTxApr 19, 2022
1
试下 ctrl +v ,方向键往下选择,shift + i ,更改第一行,esc+w 保存
|
|
lululauApr 19, 2022
2
搜 vim multi cursor
|
|
975779964Apr 19, 2022
3
f1sweight<Esc>;.;.
解释,f1 找到 当前行第一个 1 的字符 s 删除当前字符并进入编辑模式 然后 输入 weight esc 退出 编辑模式 ; 查找当前行 下一个 1 字符 . 重复上一个编辑模式的操作 ; 查找当前行 下一个 1 字符 . 重复上一个编辑模式的操作 我只会这种笨办法 …… |
|
4
@PyTx 万一只有一行呢?而且即便分行,要更改的也不在同一列。希望有一个比较通用的办法。
目前自己找出一个方法,但比较繁琐,耗时增加一个数量级: 1. 首先,按 v 进入 Visual 模式 2. 按 `iw` 选中当前词 3. 按 `*` 寻找相同词,光标会跳到下一个词 4. 按 `shift+n`,回到上一个词 5. 退出 Visual 模式 6. 按 ciw 替换光标下的词为新词,按 esc 退出编辑 7. 按 yw 复制光标下的新词 8. 按 `gn` 跳到下一个词 9. 按 `viw` 选中当前词 10. 按 `p` 覆盖 |
|
xlcoder166Apr 19, 2022
5
基于数据量和数据格式有:
1. 2 楼的 vim multi cursor 2. 3 楼的 直接操作 3. 选择性替换 4. 宏 |
|
6
multi cursor 不错,不过就得额外装插件了
|
|
SmallZhengApr 19, 2022
7
搜索,点重复操作。 循环.
|
|
ynyounuoApr 19, 2022
8
:/1/|s//weight
3@: |
|
ynyounuoApr 19, 2022
9
*2@:
|
|
DrakeXiangApr 20, 2022
10
之前查类似的问题看到的就是搜索替换了
|