我希望我曾经保存在Sublime Text中的所有文件都采用Unix行尾格式,即使当我打开最初以另一种格式保存的文件时,后来又在Sublime中对其进行了编辑?仅仅设置"default_line_ending": "unix"是不够的,因为这不能像我提到的那样转换Windows文件。我怎么做?

最佳答案

这是完成任务的快速插件:

import sublime_plugin

class SetUnixLineEndingsCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.set_line_endings("unix")


class SetLineEndings(sublime_plugin.EventListener):
    def on_pre_save(self, view):
        view.run_command("set_unix_line_endings")

在Sublime中,选择 Tools → Developer → New Plugin… 。在打开的窗口中,删除其中的所有内容,然后将其替换为上面的程序。点击“保存”,保存文件对话框应在Packages/User目录中打开,其位置因操作系统和安装类型而异:
  • Linux:~/.config/sublime-text-3/Packages
  • OS X:~/Library/Application Support/Sublime Text 3/Packages
  • Windows常规安装:C:\Users\YourUserName\AppData\Roaming\Sublime Text 3\Packages
  • Windows便携式安装:InstallationFolder\Sublime Text 3\Data\Packages

  • 将文件另存为set_unix_line_endings.py,它将立即激活。

    如果您编辑内容然后保存,该插件只会更改文件的行尾。只需打开文件进行查看就不会更改任何内容。

    如果您不再希望该插件处于 Activity 状态,只需进入Packages/User目录并删除文件或将其后缀更改为.py以外的其他名称-set_unix_line_endings.py.bak对我来说效果很好。

    关于sublimetext3 - 如何配置sublime使其在保存时始终转换为unix行尾?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39680585/

    10-14 08:16