如何在Vim中为选中内容加方括号制作完形填空闪卡
方案1:永久配置快捷键(推荐,一次配置永久使用)
直接在你的vimrc/init.vim配置文件中添加如下映射,后续选中要设置为填空的内容后按下<leader>c(你也可以换成其他你习惯的快捷键)即可自动套上方括号:
vnoremap <leader>c c[<C-r>""]<Esc>
命令解释:
vnoremap限定该映射仅在可视化选择模式下生效,非递归映射避免和其他快捷键冲突- 执行逻辑:先删除选中的内容并存入默认寄存器,输入左方括号
[,再把刚才删除的内容粘贴回来,输入右方括号],最后自动退回普通模式
如果是选中单个单词做填空的场景,你可以直接在普通模式按viw选中当前光标所在的完整单词,再触发快捷键即可,无需手动拖拽选中。
方案2:临时录制宏使用
如果不想修改配置,也可以临时录制宏实现需求:
- 选中要设置为填空的文本区域
- 按下
qa开始录制宏(宏内容存入a寄存器,你也可以换成其他字母) - 输入命令
c[<C-r>""]<Esc> - 按下
q结束宏录制
后续所有需要套括号的场景,只要先选中目标内容,按下@a即可自动执行操作。
方案3:直接使用替换命令
选中目标内容后按下:,Vim会自动补全范围前缀'<,'>,直接输入如下替换命令即可:
s/\%V.*\%V/[&]/
命令解释:
\%V是Vim正则的专属锚点,限定匹配范围仅为你刚才选中的可视化区域&指代匹配到的全部选中内容,直接套在方括号中完成替换
内容的提问来源于stack exchange,提问作者sdpfj
相关产品推荐
相关产品推荐

