# ritorno a capo in emacs/vim

## DaVe&OpenMOsix

Ciao a tutti!

nonostante sia un estimatore di emacs, da qualche giorno ho qualche problema (non ho fatto cambiamenti volontari e/o coscienti nelle impostazioni...)

se creo un file in emacs con più righe e dopo lo apro con vim, o less per esempio, vedo in realtà una riga sola.

i separatori di riga, che dovrebbero essere i <cr><lf> li vedo visualizzati come ^M. 

tipo così:

```
prima riga^Mseconda riga^Mterza riga^M
```

 (invece dentro a emacs si vedono bene).

per rimettere a posto i file che ho creato in questo modo, ho provato a dare un 

```
sed 's/^M/$/g' file > nuovofile
```

 secondo una guida di sed ma non cambia niente.

 (il ^M l'ho fatto, come da istruzioni con CTRL-V e CTRL-M).

quindi le domande sono: 

- sapete come ripristinare i ritorni a capo giusti in emacs?

- e recuperare con sed quelli messi male?

- devo abiurare emacs per vim  :Embarassed:  ?

ciao

DV

----------

## neon

```
* app-text/dos2unix

     Available versions:  3.1

     Installed:           no

     Homepage:            I HAVE NO HOME :(

     Description:         Dos2unix converts DOS or MAC text files to UNIX format

```

converte i file con la ^M in file con ritorno a capo unix  :Wink: 

 *DaVe&OpenMOsix wrote:*   

> devo abiurare emacs per vim  ?

 

http://hackles.org/cgi-bin/archives.pl?request=94

----------

## GiRa

Configura i tuoi editor in modo che utilizzino la medesima configurazione.

----------

## neon

 *GiRa wrote:*   

> Configura i tuoi editor in modo che utilizzino la medesima configurazione.

 

Yeah, in breve:

```
emerge -C emacs && ln -s /usr/bin/vim /usr/bin/emacs
```

----------

## GiRa

Se fossi un moderatore ti tirerei le orecchie: questo è flame gratuito.

----------

## neon

 *GiRa wrote:*   

> Se fossi un moderatore ti tirerei le orecchie: questo è flame gratuito.

 

Don't worry, be happy  :Wink: 

Partendo dal presupposto che scherzavo ed ero sicuro al 100% che DaVe&OpenMOsix (nemmeno per errore) esseguisse il mio consiglio.

Giuro che nella mia innocenza non sospettavo nemmeno che la "battuta" potesse suscitare una flame war

(che come segnalato in hackles e' attiva dalla nascita dei due editor ed ovviamente irrisolta in quanto ognuno usa quello che gli piace)

----------

## DaVe&OpenMOsix

 *Quote:*   

> emerge -C emacs && ln -s /usr/bin/vim /usr/bin/emacs

 

lascia perdere GiRa...  :Laughing:  Neon è un ottimo utente del forum, avevo capito lo scherzo!

quando pensavo di abiurare emacs, cmq, pensavo a questo...  :Wink: 

ottimo cmq dos2unix, lo provo stasera.

ma nessuna idea col sed? credevo si facesse facilmente...

e riguardo la configurazione, sapete dove guardare?

ciao

DV

----------

## Guglie

 *DaVe&OpenMOsix wrote:*   

> ma nessuna idea col sed? credevo si facesse facilmente...

 

da http://billharlan.com/pub/papers/Bourne_shell_idioms.html

```
Convert dos text files to unix, and vice versa:

dos2unix file.txt

unix2dos file.txt

tr -d '\015' < win.txt > unix.txt  # if you can't find dos2unix

sed -e 's/$/\r/' < unix.txt > win.txt  # if you can't find unix2dos
```

----------

## DaVe&OpenMOsix

thanks Guglie!

----------

## neon

 *DaVe&OpenMOsix wrote:*   

> ma nessuna idea col sed? credevo si facesse facilmente...

 

http://www.vasudevaservice.com/documentation/how-to/converting_dos_and_unix_text_files

usano awk, perl, tr, emacs ma di sed nemmeno l'ombra, io non ho mai imparato ad usarlo quindi non ti sono molto di aiuto  :Wink: 

 *DaVe&OpenMOsix wrote:*   

> e riguardo la configurazione, sapete dove guardare?

 

Il man di emacs dice questo:

 *Quote:*   

> In addition, if Emacs recognizes from a file's contents that it uses newline rather than carriage-return linefeed as its line separator, it does not perform EOL conversion when reading or writing that file. Thus, you can read and edit files from GNU and Unix systems on MS-DOS with no special effort, and they will retain their Unix-style end-of-line convention after you edit them.
> 
> [..]
> 
>  To visit a file and specify whether it uses DOS-style or Unix-style end-of-line, specify a coding system (see section Q.9 Specifying a Coding System). For example, C-x RET c unix RET C-x C-f foobar.txt visits the file `foobar.txt' without converting the EOLs; if some line ends with a carriage-return linefeed pair, Emacs will display `^M' at the end of that line. Similarly, you can direct Emacs to save a buffer in a specified EOL format with the C-x RET f command. For example, to save a buffer with Unix EOL format, type C-x RET f unix RET C-x C-s. If you visit a file with DOS EOL conversion, then save it with Unix EOL format, that effectively converts the file to Unix EOL style, like dos2unix.

 

Mi pare di aver capito che se un file e' in una codifica lui lo salva come era originariamente, quindi dos->dos unix->unix

Se vuoi farlo salvare in un altro modo devi usare un diverso "Coding System"

Non ho capito molto ma qui c'e' il link http://jamesthornton.com/emacs/chapter/emacs_20.html#SEC222

----------

## GiRa

 *neon wrote:*   

> 
> 
> Partendo dal presupposto che scherzavo ed ero sicuro al 100% che DaVe&OpenMOsix (nemmeno per errore) esseguisse il mio consiglio.

 

OK!

Ultimamente vedo un sacco di post che chiedono sempre le stesse cose, tanti che non usano nemmeno il man e quindi sono suscettibile...  :Laughing: 

----------

## DaVe&OpenMOsix

 *Quote:*   

> tanti che non usano nemmeno il man e quindi sono suscettibile... 

 

hai ragione, ma stavolta non avevo man sottomano...

sono in ufficio col caro $sistema_operativo_che_ti_dà_l'eXPerienza ...  :Wink: 

ciao

----------

## GiRa

Non mi riferivo a te! Infatti per creare il file di configurazione di emacs la cosa migliore è scaricarselo dal sito!!!

----------

