web-dev-qa-db-fra.com

Voir les sauts de ligne et les retours à la ligne dans l'éditeur

Est-ce que quelqu'un connaît un éditeur de texte sous Linux qui me permet de voir les sauts de ligne et les retours à la ligne? Vim prend-il en charge cette fonctionnalité?

150
usertest

:set list dans Vim affichera des espaces. Les lignes de fin de ligne sont identifiées par '$' 'et les retours à la ligne sous la forme' ^M '.

120
jay.lee

Pour être en désaccord avec la réponse officielle:

:set list va pas montrer ^ M caractères (CR). Fournir l'option -b à vi/vim fonctionnera. Ou, une fois que vim est chargé, tapez :e ++ff=unix.

224
CaptSaltyJack

Le VI affiche les nouvelles lignes (caractère LF, code x0A) en affichant le texte suivant sur la ligne suivante.

Utilisez le commutateur -b pour le mode binaire. Par exemple, vi -b filename ou vim -b filename --.

Il affichera ensuite les caractères CR (x0D), qui ne sont normalement pas utilisés dans les fichiers de style Unix, comme les caractères ^M.

76
Larry K

Juste pour préciser pourquoi :set list ne montrera pas les CR comme ^M sans e ++ff=unix et pourquoi :set list n'a rien à voir avec ^M.

En interne, lorsque Vim lit un fichier dans sa mémoire tampon, il remplace tous les caractères de fin de ligne par sa propre représentation (appelons-le $ '). Pour déterminer quels caractères doivent être supprimés, il détermine d'abord dans quel format les fins de ligne sont stockées dans un fichier. S'il n'y a que CRLF '\r\n' ou seulement CR '\r' ou seulement LF '\n' caractères de fin de ligne, alors le 'fileformat' est défini sur dos, mac et unix respectivement.

Lorsque l'option list est définie, Vim affiche le caractère $ lorsque le saut de ligne s'est produit, quelle que soit l'option fileformat détectée. Il utilise sa propre représentation interne des sauts de ligne et c'est ce qu'il affiche.

Maintenant, lorsque vous écrivez en mémoire tampon sur le disque, Vim insère des caractères de fin de ligne en fonction des options fileformat détectées, en les convertissant toutes internal $ 'avec les caractères appropriés. Si le fileformat est unix, il écrira simplement \n à la place de son saut de ligne interne.

L'astuce consiste à forcer Vim à lire un fichier codé dos comme un fichier unix. L’effet net est qu’il supprimera tous les \n en laissant ceux de \r et les affichera sous la forme de ^M dans votre mémoire tampon. Régler :set list affichera également les fins de ligne internes sous la forme $. Après tout, vous voyez ^M$ à la place de dos sauts de ligne codés.

Notez également que :set list n'a rien à voir avec l'affichage de ^M. Vous pouvez le vérifier vous-même (assurez-vous d’avoir désactivé l’option list) en insérant un seul CR à l’aide de CTRL-V suivi de Enter en mode insertion. Après avoir écrit le tampon sur le disque et l'avoir ouvert à nouveau, vous aurez son ^M malgré que l'option list soit définie sur 0.

Vous pouvez en savoir plus sur les formats de fichier sur http://vim.wikia.com/wiki/File_format ou en tapant:help 'fileformat' dans Vim.

24
Paweł Smolak

Essayez la commande suivante.

: set binary

Dans VIM, cela devrait faire la même chose qu'en utilisant l'option de ligne de commande "-b". Si vous mettez cela dans votre fichier de démarrage (c'est-à-dire .vimrc), il sera toujours en place pour vous.

Sur de nombreux systèmes * nix, une commande "dos2unix" ou "unix2dos" permet de traiter le fichier et de corriger tout problème éventuel de fin de ligne. S'il n'y a pas de problème avec les fins de ligne, les fichiers ne seront pas modifiés.

11
Brian S. Wilson

Je vous suggère de modifier votre fichier .vimrc pour pouvoir exécuter une liste de commandes. Editez votre fichier .vimrc, comme ceci:

cat >> ~/.vimrc <<EOF
set ffs=unix
set encoding=utf-8
set fileencoding=utf-8
set listchars=eol:¶
set list
EOF

Lorsque vous exécutez vim, les commandes dans .vimrc sont exécutées et vous pouvez voir cet exemple:

My line with CRLF eol here ^M¶
5
Arno

Vous pouvez afficher les lignes de rupture à l'aide de l'éditeur de gedit .

Tout d'abord, si vous n'avez pas installé:

Sudo apt-get install gedit

Maintenant, installez les plugins gedit :

Sudo apt-get install gedit-plugins

et sélectionnez Draw Spaces plug-in, entrez dans les préférences, puis choisissez tracer de nouvelles lignes

enter image description here

enter image description here

En utilisant le VSCode , vous pouvez installer une extension fins de lignes .

Sublime Text 3 possède un plugin appelé RawLineEdit qui affiche les fins de ligne et permettre l'insertion de type de fin de ligne arbitraire

shift + ctrl + p et tapez le nom du plug-in, puis basculez pour afficher la fin de la ligne.

0
danilo