Vim(含VS Code Vim扩展)如何快速为变量套上print等函数包裹?
不同编辑器的实现方案
VS Code
- 自定义代码片段方案
打开用户代码片段配置,选择Python语言,添加如下配置:
选中{ "Print variable": { "prefix": "printvar", "body": "print(${TM_SELECTED_TEXT})", "description": "Wrap selected variable with print" }, "Print variable with label": { "prefix": "printvarlabel", "body": "print(\"${TM_SELECTED_TEXT}: \", ${TM_SELECTED_TEXT})", "description": "Wrap selected variable with print and variable name label" } }a_variable后输入对应prefix按Tab即可触发,也可以在键盘快捷方式设置页给两个片段绑定自定义组合键,光标落在变量上时无需选中即可直接触发。 - Surround插件方案
安装Surround类插件后,自定义Python环境下的环绕规则,添加p规则对应print($0),pl规则对应print("$0: ", $0),选中变量后按环绕触发键+对应规则快捷键即可完成包裹。
Vim/Neovim
配合vim-surround插件使用,在配置文件中添加如下代码:
autocmd FileType python let b:surround_{char2nr('p')} = "print(\r)" autocmd FileType python let b:surround_{char2nr('l')} = "print(\"\r: \", \r)"
选中a_variable后按S p即可得到print(a_variable),按S l即可得到print("a_variable: ", a_variable)。
JetBrains系列(PyCharm、IDEA等)
使用内置Surround With功能实现:
- 选中
a_variable后按Ctrl+Alt+T(Windows/Linux)/Cmd+Opt+T(Mac)唤起Surround With菜单 - 选择「Configure Live Templates」,添加两个自定义模板:
- 缩写
p,模板内容填print($SELECTION$) - 缩写
pl,模板内容填print("$SELECTION$: ", $SELECTION$)
- 缩写
- 后续选中变量后唤起Surround With菜单,选择对应模板即可完成包裹,也可以在快捷键设置页给两个模板单独绑定自定义组合键,光标落在变量上时无需手动选中即可触发。
内容的提问来源于stack exchange,提问作者Sanket Wagh
相关产品推荐
相关产品推荐

