Comment désactiver l'auto-indentation de nouvelles lignes?


37

J'ai récemment mis à niveau emacs vers la version 24.4.1 et quelque chose a changé dans l'indentation des nouvelles lignes. Lorsque je frappe, enterje m'attends à un caractère de nouvelle ligne "nu" au point où le curseur était présent, en particulier si je suis au milieu de la ligne, cette ligne doit être scindée et aucun caractère ne doit être supprimé, y compris les espaces. Malheureusement, ce n'est pas le cas.

Voici un exemple:

a b

Quand je mets le curseur juste après aet que enterje frappe, je reçois:

a
b

alors qu'il devrait être

a
 b

J'ai googlé un peu et c'est probablement dû à l'auto-indentation, comment puis-je le désactiver? Je parle de texte ou de mode fondamental si cela compte.


7
Pour la postérité, j'ai un commentaire à ajouter à cela. Beaucoup de problèmes de "mise à jour récente" peuvent être résolus en lisant les NEWS avec M-x view-emacs-news(ou C-h n). Vous pouvez lire les NEWS de toutes les versions précédentes en ajoutant un préfixe arg. Après avoir visionné les NEWS et fait une recherche pour "indent", le premier résultat est extrêmement similaire à la réponse de Drew. Juste un conseil utile pour tout problème lié aux mises à niveau.
Nounou

Réponses:


49

Désactiver electric-indent-mode:

(when (fboundp 'electric-indent-mode) (electric-indent-mode -1))

Cela fonctionne avec n'importe quelle version d'Emacs. Cette gêne ou nouvelle fonctionnalité brillante, selon votre point de vue, a été introduite par défaut dans Emacs 24.4.

Voir aussi ce post similaire sur StackOverflow.

(Cependant, on dirait que vous dites l' inverse et que vous voulez RET mettre en retrait mais que vous n'obtenez pas cette mise en retrait. Ce qui a changé, c'est que RET("Entrée") met maintenant automatiquement en retrait, et vous devez appuyer sur C-jpour obtenir juste une nouvelle ligne avec pas d’indentation. Ils ont permuté RETet C-j, en fait, si vous voulez RETmettre en retrait, le nouveau comportement par défaut devrait vous donner ce que vous voulez. Dans tous les cas, le mode est electric-indent-mode: allumez ou éteignez, comme vous voudrez.)


1

Il y a la possibilité d'insérer une nouvelle ligne omble chevalier C-q C-jet il y a 3 commandes pour diviser la ligne: open-line C-o, split-line C-M-oet newline RET, C-mvous avez utilisé. Si vous positionnez le curseur comme vous l'avez dit après aet appuyez sur, C-ola ligne en cours sera brisée après le curseur et chaque caractère sera dans la ligne suivante. split-line conservera la position de la colonne de sorte qu'un blanc supplémentaire soit inséré avant le contenu.

Hmm, intéressant, avec C-M-ola ligne en cours obtient également un blanc supplémentaire à la fin de sorte que les bpositions du curseur et et alignent après le changement.

En mode fondamental C-jmodifie le tampon à votre attente sur ma machine, et C-jest lié àelectric-newline-and-maybe-indent

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.