sublime text 原生不支持字符级字符串反转,需用python编写插件实现:新建reversestring.py放入packages/user/,定义reversestringcommand类,遍历选区执行text[::-1]替换;支持多选区、unicode及控制字符原样反转。

Sublime Text 里没有内置的“反转字符串”命令
直接按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)搜 reverse,你会发现 Sublime Text 原生不支持对选中文本做字符级倒序(比如把 hello 变成 olleh)。它有 Sort Lines 和 Sort Lines (case sensitive),但那是按行首字母排序,不是字符串反转。
用 Python 构建一个轻量插件实现字符级反转
Sublime Text 支持用 Python 写插件,且运行在编辑器进程内,响应快、无需外部依赖。你只需要新建一个插件文件,写 5 行核心逻辑即可生效:
import sublime
import sublime_plugin
class ReverseStringCommand(sublime_plugin.TextCommand):
def run(self, edit):
for region in self.view.sel():
if not region.empty():
text = self.view.substr(region)
reversed_text = text[::-1]
self.view.replace(edit, region, reversed_text)
保存为 ReverseString.py,放到 Packages/User/ 目录下(可通过菜单 Preferences → Browse Packages… 进入)。重启 Sublime 或用 Ctrl+Shift+P 输入 Package Control: Satisfy Dependencies(如有提示)后,就能用了。
绑定快捷键或从命令面板调用
插件启用后,有两种最常用触发方式:
- 打开命令面板(
Ctrl+Shift+P),输入Reverse String,回车执行 - 手动绑定快捷键:在
Preferences → Key Bindings的用户配置中添加:[{"keys": ["ctrl+alt+r"], "command": "reverse_string"}]注意:reverse_string是类名ReverseStringCommand的小写下划线形式,这是 Sublime 的命名约定 - 支持多选区:如果同时选中多个不连续区域,每个区域都会被独立反转
别误用 Sort Lines 当反转工具
有人试过全选多行文本后按 Sort Lines,发现顺序变了——但这只是按字典序重排行,不是倒序。例如:
原始文本:
zebra apple banana
用 Sort Lines 后变成:
apple banana zebra
而用上面插件对整段选中后执行,结果是:
arbez elppa ananab
——这才是真正的字符级反转。如果你要的是“把行顺序倒过来”(即第1行变最后一行),那得用 Sort Lines 配合反向参数,或另写一个 ReverseLinesCommand,和字符反转是两回事。
真正容易被忽略的是:插件对 Unicode、换行符、制表符都原样处理,不会做任何归一化。如果你选中的文本含混合编码或不可见控制字符,反转后它们的位置也会严格翻转——这既是优势,也可能在特殊场景下引发意外。











