Sublime Text与Python插件:如何集成含for循环的Python代码
用Sublime Text Python插件自动化文本行处理(针对非开发者)
嘿,作为非开发者,你能想到用Sublime的Python插件解决重复操作已经超棒了!咱们完全不用把内容粘贴成Python字符串这么麻烦,写个简单的小插件就能轻松搞定“把文本转成每行一个条目”的需求,我给你一步步捋清楚:
第一步:创建自定义插件
- 打开Sublime Text 3,点击顶部菜单栏的
Tools > Developer > New Plugin...,这时候会弹出一个默认的Python模板文件。 - 把模板里的所有代码删掉,替换成下面这段脚本:
import sublime import sublime_plugin class ConvertToLineItemsCommand(sublime_plugin.TextCommand): def run(self, edit): # 获取当前选中的文本,未选中则处理整个文件内容 regions = self.view.sel() if len(regions) == 1 and regions[0].empty(): content = self.view.substr(sublime.Region(0, self.view.size())) else: content = self.view.substr(regions[0]) # 按空格分割内容(可自定义分隔符),过滤空条目并去首尾空格 # 如需按逗号分割,把 content.split() 改成 content.split(',') 即可 items = [item.strip() for item in content.split() if item.strip()] # 将处理后的条目用换行连接 processed_content = '\n'.join(items) # 替换原内容 target_region = regions[0] if not regions[0].empty() else sublime.Region(0, self.view.size()) self.view.replace(edit, target_region, processed_content)
- 保存文件:Sublime会自动跳转到
Packages/User文件夹,文件名随便起,比如line_items_converter.py,只要后缀是.py就行。
第二步:设置快捷键(方便快速调用)
- 点击顶部菜单栏的
Preferences > Key Bindings,会弹出左右两个窗口,右侧是你的用户自定义快捷键配置。 - 在右侧窗口里添加下面的代码(可以放在现有配置的后面,注意JSON格式要正确,逗号别漏):
{ "keys": ["ctrl+shift+l"], "command": "convert_to_line_items" }
- 这里用的是
Ctrl+Shift+L(Windows/Linux),Mac用户可以改成cmd+shift+l,也可以换成你自己顺手的组合键。
第三步:自定义适配你的需求
如果你的文本分隔符不是空格,只需修改代码里的分割逻辑:
- 按逗号分割:把
content.split()改成content.split(',') - 按分号分割:改成
content.split(';') - 同时按空格和逗号分割(不管多少空格都算一个分隔符):可以用正则表达式,先在代码顶部加
import re,然后把分割那行改成:
items = [item.strip() for item in re.split(r'[,\s]+', content) if item.strip()]
怎么用?
打开你要处理的文本文件:
- 如果只想处理部分内容,选中目标文本;如果要处理整个文件,不用选任何内容
- 按下你设置的快捷键,瞬间就能把内容转成每行一个条目啦!
内容的提问来源于stack exchange,提问作者rsc05
相关产品推荐
相关产品推荐

