演示:

Sublime列对齐插件

源码:

import sublime
import sublime_plugin

class AlignColCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        most_right_pos = max(self.get_pos(self.view.sel()))
        for region in self.view.sel():
            col_num = self.view.rowcol(region.a)[1]
            num_of_spaces = most_right_pos - col_num
            # sublime.message_dialog(str(num_of_spaces))
            self.view.insert(edit, region.a, ' ' * num_of_spaces)

    def get_pos(self, selection):
        for region in selection:
            yield self.view.rowcol(region.a)[1]

参考

  1. 非官方插件开发文档:https://docs.sublimetext.info/en/latest/extensibility/plugins.html
  2. 官方API文档:https://www.sublimetext.com/docs/3/api_reference.html

相关文章: