Comment convertir les caractères de nouvelle ligne DOS / Windows au format Unix dans GNU Emacs?


38

Existe-t-il un moyen d'indiquer à GNU Emacs de convertir les caractères de nouvelle ligne DOS / Windows d'un fichier au format Unix?


Vous pouvez cliquer sur le petit bouton dans le modeline et ré-enregistrer.
Abo-abo

@ abo-abo: Quel petit bouton?
Charo

2
Le deuxième en partant de la gauche, avec le style Unix :.
Abo-abo

2
Avec DOS, c'est (DOS).
Abo-abo

Réponses:


43

Si la ligne de mode affiche un (DOS)indicateur, cliquez dessus deux fois pour revenir à la :nouvelle ligne Unix, puis enregistrez le fichier.

Si vous ne pouvez pas cliquer sur la ligne de mode ou si vous préférez une solution basée sur le clavier, exécutez la commande C-x RET f( set-buffer-file-coding-system) et tapez unix. Cela modifiera l'encodage des sauts de lignes sans changer l'encodage des autres caractères. (Vous pouvez également modifier le codage d'autres caractères en tapant quelque chose comme utf-8-unix.)


1
C-x RET f (set-buffer-file-coding-system) ->M-x set-buffer-file-coding-system RET
CodyChan

@CodyChan C-x RET fest la liaison par défaut pour set-buffer-file-coding-system.
Gilles, arrête d'être méchant. '

J'ai lié une fonction à C-x C-m, et j'utilise actuellement Emacs dans un terminal à distance. Lorsque j'exécute C-x RETdans Emacs, cela indique qu'il est lié à la fonction à laquelle je suis lié C-x C-m, je pense, ça M-x convient à tout le monde.
CodyChan

1
@CodyChan Je donne les liaisons par défaut (comme la documentation Emacs) car elles sont utiles à la plupart des lecteurs. De toute évidence, si vous avez modifié les liaisons par défaut, vous ne pouvez pas utiliser les liaisons par défaut. Vous pouvez utiliser M-xle nom de la fonction indiqué entre parenthèses, il est inutile de le répéter. Notez que RETc'est la même chose que C-m, c'est-à-dire que la clé Retour envoie sur un terminal - une liaison qui ne s'appliquerait qu'à la clé Retour dans une interface graphique à utiliser return.
Gilles, arrête d'être méchant. '

4

Enregistrez le fichier et Emacs utilisera automatiquement le caractère de nouvelle ligne approprié lors de l'écriture du tampon dans le fichier, en fonction de la valeur de buffer-file-coding-system.

Pour savoir quelle est la valeur de buffer-file-coding-system, appelez describe-variableensuite buffer-file-coding-systemou exécutez la describe-coding-systemcommande que vous pouvez exécuter en cliquant sur le deuxième caractère de la ligne de mode ou en appuyant sur C-h C. Pour définir sa valeur, appelez set-buffer-file-coding-system( C-x RET f) et onglet pour choisir celui de votre choix.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.