Vedere interruzioni di riga e ritorni a capo in editor di
-
27-09-2019 - |
Domanda
Qualcuno sa di un editor di testo su Linux che mi permette di vedere interruzioni di riga e ritorni a capo? Non Vim supportare questa funzionalità?
Soluzione
:set list
in Vim mostrerà spazi bianchi. Fine delle linee mostrano come '$
' e ritorni a capo di solito mostrano come '^M
'.
Altri suggerimenti
di essere in disaccordo con la risposta ufficiale:
:set list
sarà non per mostrare i caratteri ^ M (CRS). Fornendo l'opzione -b vi / vim funzionerà. Oppure, una volta vim viene caricato, tipo :e ++ff=unix
.
VI spettacoli a capo (carattere LF, codice x0A
) mostrando il testo successivo nella riga successiva.
Con l'interruttore -b
per la modalità binaria. Ad esempio vi -b filename
o vim -b filename --
.
Si mostrerà caratteri CR (x0D
), che non sono normalmente utilizzati nei file di stile Unix, come i personaggi ^M
.
Giusto per chiarire il motivo per cui :set list
non mostrerà CR di come ^M
senza e ++ff=unix
e perché :set list
non ha nulla a che fare con ^M
di.
internamente quando Vim si legge di un file nel suo buffer, sostituisce tutti i caratteri line-termina con una propria rappresentanza (chiamiamolo $
di). Per determinare quali caratteri devono essere rimossi, rileva in primo luogo in quanto fine riga formato vengono memorizzati in un file. Se ci sono solo '\r\n'
CRLF o solo CR '\r'
o solo LF '\n'
fine riga caratteri, quindi il 'fileformat'
è impostato dos
, mac
e unix
rispettivamente.
Quando l'opzione list
è impostata, visualizza Vim $
carattere quando l'interruzione di riga è verificato non importa quale opzione fileformat
è stato rilevato. Esso utilizza la propria rappresentazione interna di interruzioni di linea e questo è ciò che viene visualizzato.
Ora, quando si scrittura buffer per il disco, Vim inserti caratteri line-finendo secondo quanto rilevato Beed opzioni fileformat
, essentialy convertire tutti quelli di $
interno con caratteri appropriati. Se il fileformat
è accaduto di essere unix
allora sarà \n
semplicemente scrivere al posto della sua linea-break interno.
Il trucco è quello di forzare Vim di leggere un file codificato dos
come uno unix
. L'effetto netto è che rimuoverà di \n
lasciando tutti di \r
incontaminata e visualizzarli come ^M
è nel vostro buffer. Impostazione :set list
mostrerà additionaly line-terminazioni interne come $
. Dopo tutto, si vede ^M$
al posto di dos
codificati interruzioni di linea.
Si noti inoltre che :set list
non ha nulla a che fare con mostrando ^M
di. È possibile controllare da soli (assicuratevi di avere l'opzione list
disabilitata prima) con l'inserimento di un'unica CR utilizzando CTRL-V
seguita da Enter
in modalità di inserimento. Dopo aver scritto buffer per disco e aprirlo di nuovo si ses ^M
nonostante opzione list
essere impostato a 0.
E 'possibile trovare maggiori informazioni sui formati di file http://vim.wikia.com/wiki/File_format o typing:help 'fileformat'
in Vim.
Prova il seguente comando.
: set binario
In VIM, questo dovrebbe fare la stessa cosa utilizzando l'opzione riga di comando "-b". Se mettete questo nel tuo file di avvio (cioè .vimrc), sarà sempre nel posto giusto per voi.
Su molti sistemi * nix, c'è un "dos2unix" o il comando "unix2dos" in grado di elaborare il file e correggere qualsiasi linea sospetta che termina problemi. Se non v'è alcun problema con le terminazioni di linea, i file non verranno modificati.
Vi suggerisco di modificare il file .vimrc, per l'esecuzione di un elenco di comandi. Modificare il file .vimrc, in questo modo:
cat >> ~/.vimrc <<EOF
set ffs=unix
set encoding=utf-8
set fileencoding=utf-8
set listchars=eol:¶
set list
EOF
Quando si sta eseguendo vim, i comandi in Vimrc vengono eseguiti, e si può vedere questo esempio:
My line with CRLF eol here ^M¶
È possibile visualizzare le linee di interruzione utilizzando gedit Editor.
In primo luogo, se non è installato:
sudo apt-get install gedit
Ora, installare gedit plugin :
sudo apt-get install gedit-plugins
e selezionare disegnare spazi plug-in, inserire su Preferenze, e ha scelto Traccia nuove linee
Utilizzando VSCode è possibile installare fine riga di estensione.
Sublime Text 3 ha un plugin chiamato RawLineEdit che visualizzerà terminazioni di linea e consentire l'inserimento di arbitrario tipo di fine riga
shift + ctrl + p
e iniziare a digitare il nome del plugin, e levetta per mostrare fine riga.