Comment désactiver complètement toute indentation automatique dans Emacs? Je dois le désactiver au moins pour le mode fondamental, mais je suis d'accord avec le fait qu'il soit désactivé globalement pour la session en cours.
Veuillez lire le reste de cette question avant de le déclarer en double. Toutes les autres réponses que j'ai trouvées concernent une désactivation beaucoup plus ciblée de l'indentation. Je veux vraiment désactiver complètement toutes les indentations automatiques pour toute la session.
Le réglage electric-layout-mode
sur nil
ne fonctionne pas.
Détails
Parfois, j'aime composer de gros messages de validation Git avec mon éditeur de texte ASCII Windows. Ces messages contiennent fréquemment des listes à puces, des blocs de code ou d'autres éléments où la mise en forme précise de mon document source est significative. Ma base de code est sous Linux et je me connecte à la box à l'aide d'un client SSH texte uniquement. Lorsque Git entre dans Emacs pour modifier le message de validation, je veux pouvoir copier le message de validation source dans le presse-papiers de Windows, puis le coller à l'aide des commandes de collage de Windows. Du point de vue d'Emacs, je tape ce qui a été trouvé dans le fichier texte Windows. Malheureusement, quand Emacs voit des lignes en retrait, il ajoute sa propre auto-indentation, donc j'obtiens cet immense triangle d'espaces le long du bord gauche du tampon.
J'utilise GNU Emacs 24.3.1.
solution de contournement
Ma solution de contournement actuelle consiste à transférer mon fichier texte Windows vers un système de fichiers monté par mon hôte Linux, à charger le fichier dans Emacs, puis à utiliser kill et yank pour transférer le contenu. C'est un peu maladroit.
Exemple
Voici un exemple de bloc de texte:
a
- b
c
d
Voici comment cela apparaît lorsque je le colle dans Emacs-under-ssh via la pâte MSWin:
a
- b
c
d
Si j'appuie C-h l
après avoir fait le collage, voici ce que je vois. Notez que les sauts de ligne sont saisis en utilisant C-j
, non RET
.
a C-j C-j SPC SPC - SPC b C-j SPC SPC SPC SPC c C-j
SPC SPC SPC SPC d C-j C-h l
:set paste
? Cela dit essentiellement "ne touchez en aucune façon au texte collé". Ce qui inclut également l'indentation automatique.
hack-local-variables-hook
- pour l' essentiel undo ce que d' autres grands-modes définis dans le cadre de leur initialisation standard.fundamental-mode
est juste une petite fonction à l' intérieursimple.el
- à savoir(kill-all-local-variables) (run-mode-hooks)
.M-x find-function RET fundamental-mode RET
- vous pouvez modifier / créer le vôtre selon vos besoins; cependant, si vous changez le nom, il ne sera pas utilisé par certaines fonctions - pensez donc à conserver le même nom.