Sublime Text 3 中的80个字符/正确边缘线

309

您可以在Netbeans , Text Mate以及许多其他IDE中设置80个字符/右边距线。在Sublime Text 3中是否也可以实现?是否有任何选项、插件等可用?

2个回答

603

是的,在Sublime Text 2、ST3和ST4中都可以实现(如果你还没有升级的话,你真的应该升级)。选择View → Ruler → 80(还有其他几个选项)。如果你想在80列处换行,请选择View → Word Wrap Column → 80。确保选择了View → Word Wrap

要使你的选择永久生效(对于所有打开的文件或视图),打开Preferences → Settings并在右侧窗格中使用以下任何规则:

{
    // set vertical rulers in specified columns.
    // Use "rulers": [80] for just one ruler
    // default value is []
    "rulers": [80, 100, 120],

    // turn on word wrap for source and text
    // default value is "auto", which means off for source and on for text
    "word_wrap": true,

    // set word wrapping at this column
    // default value is 0, meaning wrapping occurs at window width
    "wrap_width": 80
}

这些设置也可以在.sublime-project文件中使用,以便在每个项目的基础上设置默认值,或者在特定语法的.sublime-settings文件中使用,如果您只想将它们应用于某种语言编写的文件(例如Python.sublime-settingsJavaScript.sublime-settings)。通过打开具有所需语法的文件,然后选择首选项→设置—语法特定来访问这些设置文件。

与往常一样,如果您的设置文件中有多个条目,请使用逗号,将它们分隔开,除了最后一个之后。整个内容应该用花括号{ }括起来。基本上,确保它是有效的JSON

如果您想要一个快捷键来自动将标尺设置为80,或者您有兴趣学习如何在不使用鼠标的情况下设置该值,请参见这里我的答案

最后,正如另一个答案中提到的那样,为了使您的代码正确对齐,您应该使用等宽字体。其他类型的字体具有可变宽度字母(称为字形),这意味着一行80个字符的内容可能与另一行80个字符的内容不同,而且您的缩进看起来会很混乱。Sublime默认设置了等宽字体},但您当然可以选择任何您想要的字体。就我个人而言,我非常喜欢{{link3:Liberation Mono。它具有支持许多不同语言和Unicode字符的字形,在各种不同大小下看起来都很好,并且(对于编程字体来说最重要的是)清楚地区分了0O(数字零和大写字母O)以及1l(数字一和小写字母L),而并非所有等宽字体都能做到这一点。版本2.0及更高版本的字体在开源SIL Open Font License 1.1下获得许可(这里是FAQ)。


4
谢谢。我取消了你加粗的字体,因为它让我的眼睛不舒服!:] 另外,我添加了一些额外的信息,不过所有的功劳当然归于你。 - trejder
3
这里是否可以自动硬换行?例如它是否可以自动执行编辑->换行->在标尺处换行段落的相同操作,但无需经过此过程(或相应的键盘快捷键)? - evolvedmicrobe
4
太好了,谢谢!我只想在我的Python文件中使用标尺;您可以通过打开一个.py文件,然后选择“首选项>更多设置>语法特定-用户”来添加语法特定的设置。 - ptim
3
为什么将换行宽度设置为80个字符后,文本会在第79个字符之后换行?是我做错了什么吗?! - Bobby Jack
1
@BobbyJack 我也意识到了。 :) 只需使用81来换行宽度。 :) - Koray Tugay
显示剩余6条评论

14
为了使文本对齐,您的字体也需要设置为等宽字体。
如果您想一想,没有其他方法可以完美地将行排成一条直线。
这个答案在sublime text论坛上有详细说明:
http://www.sublimetext.com/forum/viewtopic.php?f=3&p=42052
此答案链接了适用于您操作系统的合适字体,并回答了字体不对齐的边缘情况。
另一个列出为程序员提供优秀等宽字体的网站。 http://hivelogic.com/articles/top-10-programming-fonts 在stackoverflow中查看:
Michael Ruth的答案: 如何在Sublime Text 2中始终显示标尺?
MattDMo的答案: Sublime Text的默认字体是什么? 我将标尺设置为以下值:
30
50(Git提交消息标题应限制为50个字符)
72(Git提交消息详情应限制为72个字符)
80(Windows命令控制台窗口最大宽度为80个字符)
其他受益于较短行的视图环境:
github:在线查看文件时没有自动换行
因此,我尝试将.js、.md和其他文件保持在70-80个字符以内。
Windows控制台:80个字符。

2
谢谢您的回答。说实话,我无法想象在ST3中使用非等宽字体进行编码。这就是为什么对我来说这是非常明显的,需要等宽字体。 - trejder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接