【问题标题】:80-characters / right margin line in Sublime Text 3Sublime Text 3 中的 80 个字符/右边距线
【发布时间】:2014-11-12 02:27:53
【问题描述】:

您可以拥有 80 个字符/右边距行 in NetbeansText Mate 以及可能还有很多很多其他 IDE。是否也可以在 Sublime Text 3 中使用它?任何选项,插件等?

【问题讨论】:

    标签: formatting coding-style sublimetext3 sublimetext sublimetext4


    【解决方案1】:

    是的,在 Sublime Text 2、ST3 和 ST4 中是可能的(如果你还没有,你应该真的 upgrade )。选择 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 文件中使用,以在每个project 的基础上设置默认值,或者在syntax-specific .sublime-settings 文件中使用,如果您只希望它们应用于以特定格式编写的文件语言(例如Python.sublime-settingsJavaScript.sublime-settings)。通过打开具有所需语法的文件,然后选择 Preferences → Settings—Syntax Specific 来访问这些设置文件。

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

    如果您想要一个组合键自动将特定视图/文件的标尺设置为 80,或者您有兴趣了解如何在不使用鼠标的情况下设置值,请参阅my answer here

    最后,正如another answer 中所述,您真的应该使用等宽字体,以便您的代码正确排列。其他类型的字体具有可变宽度字母,这意味着一个 80 个字符的行可能看起来与另一个具有不同内容的 80 个字符的行的长度不同,并且您的缩进看起来会一团糟。 Sublime 有等宽字体set by default,但你当然可以选择任何你想要的字体。就个人而言,我真的很喜欢Liberation Mono。它具有支持许多不同语言和 Unicode 字符的字形,在各种不同的大小上看起来都很不错,并且(最重要的是对于编程字体)可以清楚地区分 0O(数字零和大写字母 oh)和 @ 987654345@ 和 l(数字 1 和小写字母 ell),不幸的是,并非所有等宽字体都这样做。 2.0 及更高版本的字体在开源SIL Open Font License 1.1 下获得许可(这里是FAQ)。

    【讨论】:

    • 谢谢。去掉你的粗体,因为它踢我的眼球! :] 另外,添加了一些额外的信息,当然,所有的荣耀都归于你。
    • 这里可以硬包装吗?例如相当于它在标尺处自动执行编辑->换行->换行,但不必经过这个过程(或等效的键盘快捷键?)
    • 太棒了,TX!我只想要我的 python 文件中的尺子;您可以通过打开一个 .py 文件来添加特定于语法的设置,然后打开 Preferences>Settings More>Syntax Specific - User
    • 为什么 80 个字符的换行宽度会在第 79 个字符之后换行?我在做傻事吗?!
    • @BobbyJack 我也意识到了这一点。 :) 只需使用 81 作为换行宽度。 :)
    【解决方案2】:

    为此,您的字体还需要设置为等宽字体。
    如果你仔细想想,线条不可能完美排列。

    这个答案在 sublime text 论坛有详细说明:
    http://www.sublimetext.com/forum/viewtopic.php?f=3&p=42052
    此答案包含为您的操作系统选择合适字体的链接,
    并对字体不对齐的边缘情况给出答案。

    另一个为程序员列出了很棒的等宽免费字体的网站。 http://hivelogic.com/articles/top-10-programming-fonts

    关于stackoverflow,请参阅:

    Michael Ruth 的回答在这里: How to make ruler always be shown in Sublime text 2?

    MattDMo 的回答在这里: What is the default font of Sublime Text?

    我将标尺设置在以下位置:
    30
    50(git 提交消息标题应限制为 50 个字符)
    72(git 提交消息详细信息应限制为 72 个字符)
    80(Windows 命令控制台窗口最大为 80 个字符宽度)

    其他受益于较短线路的观看环境: github:在线查看文件时没有自动换行
    因此,我尝试将 .js .md 和其他文件保持在 70-80 个字符。
    Windows 控制台:80 个字符。

    【讨论】:

    • 感谢您的回答。老实说,我无法想象在 ST3 中使用 non-monospace 字体进行编码。这就是为什么这对我来说很明显,需要等宽字体。
    猜你喜欢
    • 2011-08-24
    • 2015-11-28
    • 2016-07-21
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 2019-09-07
    • 2017-02-11
    相关资源
    最近更新 更多