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é?
: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
'.
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
.
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
.
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.
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.
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¶
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
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.