80 caractères / ligne de marge droite dans Sublime Text 3

Réponses:

551

Oui, c'est possible à la fois dans Sublime Text 2 et 3 (que vous devriez vraiment mettre à niveau si vous ne l'avez pas déjà fait - ne vous inquiétez pas du nom " beta ", il est solide comme le roc). Sélectionnez View → Ruler → 80(il existe également plusieurs autres options). Si vous souhaitez envelopper votre texte sur 80 colonnes, sélectionnez View → Word Wrap Column → 80. Assurez-vous que cette option View → Word Wrapest sélectionnée.

Pour rendre vos sélections permanentes (par défaut pour tous les fichiers ou vues ouverts), ouvrez Preferences → Settings—Useret utilisez l'une des règles suivantes:

{
    // 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
}

Ces paramètres peuvent également être utilisés dans un .sublime-projectfichier pour définir les valeurs par défaut par projet , ou dans un fichier spécifique à la syntaxe.sublime-settings si vous souhaitez uniquement qu'ils s'appliquent aux fichiers écrits dans une certaine langue ( Python.sublime-settingsvs. JavaScript.sublime-settings, par exemple). Accédez à ces fichiers de paramètres en ouvrant un fichier avec la syntaxe souhaitée, puis en sélectionnant Preferences → Settings—More → Syntax Specific—User.

Comme toujours, si vous avez plusieurs entrées dans votre fichier de paramètres, séparez-les par des virgules, ,sauf après la dernière. L'ensemble du contenu doit être placé entre accolades { }. Fondamentalement, assurez-vous qu'il s'agit d'un JSON valide .

Si vous souhaitez qu'un combo de touches règle automatiquement la règle à 80 pour une vue / un fichier particulier, ou si vous souhaitez apprendre à définir la valeur sans utiliser la souris, veuillez voir ma réponse ici .

Enfin, comme mentionné dans une autre réponse , vous devriez vraiment utiliser une police monospace pour que votre code s'aligne correctement. D'autres types de polices ont des lettres à largeur variable, ce qui signifie qu'une ligne de 80 caractères peut ne pas sembler avoir la même longueur qu'une autre ligne de 80 caractères avec un contenu différent, et vos indentations seront toutes gâchées. Sublime a des polices monospaces définies par défaut , mais vous pouvez bien sûr choisir celle que vous voulez. Personnellement, j'aime vraiment Liberation Mono . Il a des glyphes pour prendre en charge de nombreuses langues et caractères Unicode différents, semble bon dans une variété de tailles différentes et (surtout pour une police de programmation) fait clairement la différence entre 0etO(chiffre zéro et lettre majuscule oh) et 1et l(chiffre un et lettre minuscule ell), ce que ne font pas toutes les polices monospaces, malheureusement. La version 2.0 et les versions ultérieures de la police sont autorisées sous la licence open source SIL Open Font License 1.1 (voici la FAQ ).

MattDMo
la source
4
Merci. Suppression de votre audace, car cela me donne des coups de pied! :] De plus, a ajouté quelques informations supplémentaires, bien que toute la gloire vous revienne, bien sûr.
trejder
3
Est-il possible d'enrouler dur ici? par exemple, l'équivalent fait automatiquement éditer-> wrap-> wrap paragraphe au niveau de la règle, mais sans avoir à passer par ce processus (ou le raccourci clavier équivalent?)
evolvedmicrobe
3
génial, tx! Je veux seulement une règle dans mes fichiers python; vous pouvez ajouter des paramètres spécifiques à la syntaxe en ouvrant un fichier .py, puis Preferences>Settings More>Syntax Specific - User.
ptim
3
Pourquoi diable une largeur d'habillage de 80 caractères s'enroule-t-elle après le 79e caractère? Suis-je en train de faire quelque chose de stupide?!
Bobby Jack
1
@BobbyJack Je l'ai réalisé aussi. :) Utilisez simplement 81 pour la largeur de l'enveloppe. :)
Koray Tugay
16

Pour que cela fonctionne, votre police doit également être définie sur Monospace.
Si vous y réfléchissez, les lignes ne peuvent pas autrement s'aligner parfaitement parfaitement.

Cette réponse est détaillée sur le forum de texte sublime:
http://www.sublimetext.com/forum/viewtopic.php?f=3&p=42052
Cette réponse a des liens pour choisir une police appropriée pour votre système d'exploitation
et donne une réponse à un bord cas de polices non alignées.

Un autre site Web qui répertorie les grandes polices gratuites à espacement fixe pour les programmeurs. http://hivelogic.com/articles/top-10-programming-fonts

Sur stackoverflow, voir:

Réponse de Michael Ruth ici: Comment faire pour que la règle soit toujours montrée dans le texte sublime 2?

La réponse de MattDMo ici: Quelle est la police par défaut de Sublime Text?

J'ai des règles définies comme suit:
30
50 (les titres des messages de validation git doivent être limités à 50 caractères)
72 (les détails du message de validation git doivent être limités à 72 caractères)
80 (la fenêtre de la console de commande Windows atteint une largeur maximale de 80 caractères)

Autres environnements de visualisation qui bénéficient de lignes plus courtes: github: il n'y a pas de retour à la ligne lors de la visualisation d'un fichier en ligne
. J'essaie donc de conserver .js .md et d'autres fichiers à 70-80 caractères.
Console Windows: 80 caractères.

SherylHohman
la source
2
Merci pour votre réponse. Pour être honnête, je ne peux pas imaginer coder en ST3 avec une police non- monospace. C'est pourquoi cela était assez évident pour moi, que la police monospace est requise.
trejder