Notepad++插件:快捷键交换两个选区的内容
一、书接上回
上回说到我实现了一个Notepad++插件,实现了《快捷选择成对括号之间的内容》。
实际上插件内我还实现了快捷交换多个选区内容的功能。
这两个插件并没有什么联系,本应设计为2个插件。但是我懒得再开一个项目了,就写到了一起。
二、插件功能
功能实现快捷键交换多个选区间的内容,当只有2个选区的时候就是互换。这是一个被Notepad++作者拒绝的一个提案,所以我用C++编程实现了这个功能。
快捷键是按 Alt-X(eXchange)实现向下顺序轮换,按 Alt-Shift-X 时是向上顺序轮换。
三、使用场景
例如当你需要交换函数中定义的两个参数时,因为中间存在逗号,所以不能一次复制完成,需要点击好多次。现在可以一次完成了:
再比如需要交换 if-else 中的逻辑,而这恰好可以配合我的插件实现的另一个功能,首先按下 Alt+Q(Quote)快速选择成对大括号之间的内容,然后按下 Alt+X(eXchange)交换它们之间的内容:
选择多于2个选区时按下快捷键可以顺序和逆序轮换,自动跳过为空的选区。这种做法没找到合适的应用场景,但是可以介绍一下:
四、安装方法
安装方法和其他 Notepad++ 插件一样,将DLL文件拷贝到Notepad++安装目录下的 “~\Notepad++\plugins” 文件夹,然后重启 Notepad++ 主程序即可使用。
考虑到使用的Notepad++版本不同,低版本的Notepad++可能需要在 “首选项 - 编辑 - 多列编辑” 中启用功能。如果是新版本中应该会默认开启:
DLL文件下载地址:https://github.com/znsoooo/npp-select-in-brackets/releases
欢迎提出需求意见:https://github.com/znsoooo/npp-select-in-brackets/issues
本软件为MIT协议,欢迎自由下载或修改。