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