Vim-Visual-Multi 多光标编辑插件教程

Vim-Visual-Multi 多光标编辑插件教程

vim-visual-multi Multiple cursors plugin for vim/neovim vim-visual-multi 项目地址: https://gitcode.com/gh_mirrors/vi/vim-visual-multi

前言

Vim-Visual-Multi 是一款强大的 Vim 多光标编辑插件,它提供了类似 Sublime Text 的多光标编辑功能,可以显著提升代码编辑效率。本文将详细介绍该插件的核心功能和使用技巧。

基础配置

在使用插件前,建议进行以下基础配置:

let g:VM_mouse_mappings = 1       " 启用鼠标映射
let g:VM_theme = 'iceblue'        " 设置主题
let g:VM_highlight_matches = 'underline' " 高亮匹配项

let g:VM_maps = {}
let g:VM_maps["Undo"] = 'u'       " 设置撤销快捷键
let g:VM_maps["Redo"] = '<C-r>'    " 设置重做快捷键

默认的 VM 前缀键是 \\(两个反斜杠),在教程中看到的 \\ 命令都需要根据你的实际配置进行替换。

核心功能详解

1. 创建多个光标

基本操作

  • 将光标移动到目标位置
  • mm 设置标记(方便后续返回)
  • 使用 <C-Down> 向下创建多个光标
  • 使用 [count]<C-Down> 一次性创建多个光标

光标模式特点

  • 可以像普通模式一样移动光标:w, b, W, B
  • 支持普通模式命令:dw, cW
  • 支持进入插入模式:i, a, I, A

2. 扩展选择模式

在光标模式下按 <Tab> 可切换到扩展选择模式,类似于 Vim 的可视模式:

  • 可以使用动作命令扩展选择范围
  • c 可以删除选择内容并进入插入模式
  • 注意:在 VM 内部,change/x 命令会使用黑洞寄存器 (_)

3. 单词选择功能

基础选择

  • <C-n>:选择光标下的单词(受 smartcase 设置影响)
  • \\c:循环切换当前模式的匹配大小写设置
  • q:跳过当前匹配项

部分单词选择

  1. 先进入可视模式 (v),选择部分字符,再按 <C-n>
  2. 使用 <S-Right> 逐字符选择
  3. 先选择整个单词 (<C-n>),再按 \\w 移除单词边界限制

高级导航

  • n/N:查找下一个/上一个匹配项
  • Q:移除当前选择或光标

4. 对齐功能

基本对齐

  1. 创建一列光标 (v2apv6j\\c)
  2. 移动到对齐字符 (f=)
  3. 执行对齐 (\\a)

高级对齐

  • \\<:交互式对齐(指定对齐字符)
  • 2\\<=":同时对齐多个字符(如 = 和 ")
  • \\>:使用正则表达式对齐

5. 重复操作

  • . 命令可以重复之前的编辑操作
  • 支持重复插入操作和删除操作
  • 注意:并非所有操作都支持重复

6. 区域替换

基本替换

  1. 创建多个光标 (3<C-Down>)
  2. 选择目标区域 (f"lsi")
  3. 执行替换 (R)
  4. 输入替换内容

选择运算符

  • si":选择引号内的内容
  • 结合 R 命令可以实现精确的区域替换

7. 其他实用功能

  • ~:切换光标下字符的大小写
  • r<char>:替换光标下字符
  • \\N:添加数字序列(可指定分隔符)
  • <C-v>:在插入模式下粘贴 VM 寄存器内容
  • 撤销/重做:仅限于 VM 会话内的操作

实用技巧

  1. 宏录制:可以将常用操作录制为宏,如 let @q = 'mv6j\c'`
  2. 数字操作:在多个光标位置同时增减数字 (<C-a>, <C-x>)
  3. 批量插入:在多个位置同时插入相同内容
  4. 选择性对齐:可以指定只对齐某些行,忽略其他行

注意事项

  1. 撤销/重做功能需要特别配置才能使用
  2. VM 内部的寄存器操作与 Vim 原生寄存器不同
  3. 某些复杂操作可能不支持重复执行
  4. 建议先在小范围文本上测试操作,确认效果后再应用到重要内容

通过掌握这些功能,你可以显著提升在 Vim 中的编辑效率,特别是处理重复性代码修改任务时。建议从简单操作开始练习,逐步掌握更高级的功能。

vim-visual-multi Multiple cursors plugin for vim/neovim vim-visual-multi 项目地址: https://gitcode.com/gh_mirrors/vi/vim-visual-multi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赖旦轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值