Je sais qu'il existe des solutions pour faire emacs montrer la 80 en ligne de la colonne, mais je ne veux pas que ce genre de trouble visuel. Je voudrais juste faire mettre en surbrillance une ligne si c'est plus de 80 caractères.
Réponses
Trop de publicités?Voir whitespace-mode
-- il fait maintenant partie de Emacs, et peut faire beaucoup plus de souligner les longues lignes. (Mais bien sûr, peut être utilisé pour ne faire que cela.)
Voici ma config à partir d' Emacs Dev Kit:
;; whitespace-mode
;; free of trailing whitespace and to use 80-column width, standard indentation
(setq whitespace-style '(trailing lines space-before-tab
indentation space-after-tab)
whitespace-line-column 80)
Fondamentalement, vous avez juste besoin de la dernière peu, mais je trouve les autres paramètres très utile (je déteste les tabulations et les espaces).
Voici un exemple de code qui permettra de mettre en évidence le texte qui se trouve au-delà de la colonne 80 avec le courant "avertissement" du visage, et une ligne de l'activer pour C++ mode.
;; Turn on warn highlighting for characters outside of the 'width' char limit
(defun font-lock-width-keyword (width)
"Return a font-lock style keyword for a string beyond width WIDTH
that uses 'font-lock-warning-face'."
`((,(format "^%s\\(.+\\)" (make-string width ?.))
(1 font-lock-warning-face t))))
(font-lock-add-keywords 'c++-mode (font-lock-width-keyword 80))
Il ne met pas en évidence l'ensemble de la ligne, mais je trouve qu'il est raisonnablement utile.