Ritorno carrello stampa terminale come ^ M ?? [Linux mi sta dicendo di smettere di scrivere codice?]


1

Stavo scrivendo una sceneggiatura in vim, ho lasciato cadere la tastiera e ho continuato a scrivere codice.

Non ho notato che il mio cursore è cambiato dal normale cursore di tipo _, in un blocco []. (come se premessi insert in un terminale di Windows)
Ho avviato il mio script e ho ricevuto un / bin / bash ^ M: errore dell'interprete non valido.

Con abbondanza di googling, ^ M è il ritorno a capo del carrello .. ma quando premo invio nel terminale sembra un normale ritorno a capo. Ma bash lo interpreta come ^ M.

Praticamente ho sbattuto la tastiera per vedere cosa diavolo ho fatto per cambiarlo. qualcuno può aiutarmi qui?


No, ti sta solo dicendo di passare a Windows.
Daniel Beck

non conta che sia un ospite in Windows 7? = P
Patrick S,

Sei sicuro che un "Invio" nella tua macchina virtuale inserisce un CRLF? È possibile verificare con: cat > testcrlf && hexdump testcrlf. Quando questa linea viene eseguita nel terminale, premi Invio seguito da Ctrl + D. Dovresti vedere solo 0anella colonna di destra, no 0a0d.
Lekensteyn,

vedere questo stesso comportamento su macbook air. xkcd.com/979
hayd

Risposte:


3

Quando hai lasciato cadere la tastiera, non solo ha premuto il Inserttasto, ma è anche riuscito a inserire il :set txcomando. Eseguire il :set fileformat=unixcomando nel buffer di modifica per il file in questione, quindi salvare nuovamente il buffer.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.