如何配置 sublime 在保存时始终转换为 unix 行结尾?
How do configure sublime to always convert to unix line endings on save?
我希望我在 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 中,selectTools → Developer → New Plugin…
。在打开的 window 中,删除那里的所有内容并将其替换为上面的程序。点击保存,保存文件对话框应在您的 Packages/User
目录中打开,其位置因 OS 和安装类型而异:
- Linux:
~/.config/sublime-text-3/Packages
- OS X:
~/Library/Application Support/Sublime Text 3/Packages
- Windows 常规安装:
C:\Users\<b><i>你的用户名</i></b>\AppData\Roaming\Sublime 文本3\Packages
- Windows 便携式安装:
<b><i>InstallationFolder</i></b>\Sublime Text 3\Data\Packages
将文件另存为set_unix_line_endings.py
,它将立即激活。
如果您编辑内容然后保存,该插件只会更改文件的行尾。只是打开文件进行查看不会改变任何内容。
如果您不再希望插件处于活动状态,只需进入您的 Packages/User
目录并删除该文件或将其后缀更改为 .py
以外的内容 - set_unix_line_endings.py.bak
适用于我.
在 SublimeText3(可能是其他版本)中,您可以在用户首选项中定义它。
在菜单栏上打开"Preferences -> Settings"
在打开的右侧 window 窗格中,您会发现您正在编辑 "Preferences.sublime-settings -- User"。在该窗格中输入以下 JSON 格式的选项:
{
// Determines what character(s) are used to terminate each line in new files.
// Valid values are 'system' (whatever the OS uses), 'windows' (CRLF) and
// 'unix' (LF only).
"default_line_ending": "unix",
// Display file encoding in the status bar
"show_encoding": true,
// Display line endings in the status bar
"show_line_endings": true
}
注意:我在这里添加了一些额外的功能。一个告诉您正在使用的文件格式以及该文件的编码格式。这些将出现在 ST3 应用程序底部的工具栏中。
我希望我在 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 中,selectTools → Developer → New Plugin…
。在打开的 window 中,删除那里的所有内容并将其替换为上面的程序。点击保存,保存文件对话框应在您的 Packages/User
目录中打开,其位置因 OS 和安装类型而异:
- Linux:
~/.config/sublime-text-3/Packages
- OS X:
~/Library/Application Support/Sublime Text 3/Packages
- Windows 常规安装:
C:\Users\<b><i>你的用户名</i></b>\AppData\Roaming\Sublime 文本3\Packages
- Windows 便携式安装:
<b><i>InstallationFolder</i></b>\Sublime Text 3\Data\Packages
将文件另存为set_unix_line_endings.py
,它将立即激活。
如果您编辑内容然后保存,该插件只会更改文件的行尾。只是打开文件进行查看不会改变任何内容。
如果您不再希望插件处于活动状态,只需进入您的 Packages/User
目录并删除该文件或将其后缀更改为 .py
以外的内容 - set_unix_line_endings.py.bak
适用于我.
在 SublimeText3(可能是其他版本)中,您可以在用户首选项中定义它。
在菜单栏上打开"Preferences -> Settings"
在打开的右侧 window 窗格中,您会发现您正在编辑 "Preferences.sublime-settings -- User"。在该窗格中输入以下 JSON 格式的选项:
{
// Determines what character(s) are used to terminate each line in new files.
// Valid values are 'system' (whatever the OS uses), 'windows' (CRLF) and
// 'unix' (LF only).
"default_line_ending": "unix",
// Display file encoding in the status bar
"show_encoding": true,
// Display line endings in the status bar
"show_line_endings": true
}
注意:我在这里添加了一些额外的功能。一个告诉您正在使用的文件格式以及该文件的编码格式。这些将出现在 ST3 应用程序底部的工具栏中。