Question

  

Double possible:
   Comment obtenir des effets de repliement de code dans emacs

Une excellente fonctionnalité de Dreamweaver est le le pliage de code de toutes lignes de texte - récursivement!

C’est fantastique, je peux plier n’importe quel texte ou code, quelle que soit la langue. Je travaille avec des systèmes existants; Je n'édite pas de code bien écrit ni de code dans une langue, etc., principalement du HTML mélangé à Dieu-sait-quoi. Les lignes pliantes facilitent et accélèrent la compréhension de beaucoup . Malheureusement, c’est la seule fonctionnalité que j’aime dans Dreamweaver.

Existe-t-il un pliage de code pour Emacs dans un but similaire?

Était-ce utile?

La solution

Il existe un mode de pliage , un mode mineur. Malheureusement, c'est intrusif: vous devez annoter manuellement les plis avec des commentaires spécialisés, qui encombrent le code lorsque vous n'utilisez pas le mode (ou lorsque vous partagez le code avec d'autres utilisateurs qui ne l'utilisent pas). Un meilleur mode ne changerait pas votre code pour qu'il fonctionne.

Permettez-moi d'ajouter: il y a une copie de cela qui mérite d'être examinée: Comment obtenir des effets de repliement de code dans Emacs .

Autres conseils

hide-show ( hs-minor-mode ) est un mode mineur qui fera quelque chose comme ça ...

La combinaison de touches par défaut pour déclencher le repliement est C-c @ C-c , ce que je trouve assez fastidieux. Mais je ne l'utilise pas beaucoup non plus.

Vous voudrez peut-être rechercher la fonction set-select-display et la variable select-display . Ce n’est pas exactement ce que vous voulez, mais cela vous permet de masquer les lignes en fonction du niveau d’indentation.

J'utilise fold-dwim.el. Sur le wiki emacs:

fold-dwim.el est une interface utilisateur unifiée pour les modes de repliement / contour d’Emacs. Il supporte fold.el, hideshow.el, outline.el, TeX-fold.el et nxml-outln.el

.

Vous pouvez l'obtenir ici:

http://www.emacswiki.org/emacs/FoldDwim

J'ai ceci dans mes .emacs:

(require 'fold-dwim)
(global-set-key [(C kp-4)] 'fold-dwim-hide-all)
(global-set-key [(C kp-5)] 'fold-dwim-toggle)
(global-set-key [(C kp-6)] 'fold-dwim-show-all)

N'oubliez pas que vous devez toujours activer le mode mineur, le mode repli, etc., mais je trouve plus facile de les utiliser de cette façon.

Vous pouvez également examiner le mode nxhtml ; fold ne code pas, mais il met en évidence le code mixte (HTML et PHP) différemment en fonction de son type. Cela vous donne un gain similaire en compréhension sans la maladresse du mode de pliage. Je pense que cette approche convient mieux à Emacs de toute façon, d'abord parce que le pliage de code semble être une idée orientée souris qui ne s'adapte pas bien à l'interface Emacs essentiellement centrée sur le clavier, et deuxièmement parce qu'Emacs facilite la navigation dans un fichier volumineux dans une certaine mesure. ce code peut rester visible sans vous gêner.

Si vous avez réellement besoin de "quelque chose pour cacher une région donnée" plutôt que d'essayer de comprendre la syntaxe " (contrairement à Hideshow et à d’autres solutions basées sur l’analyse) et vous "ne voulez pas avoir à modifier votre code". (contrairement au pliage), alors, je suppose, vous voulez dire que vous ne voulez pas que les régions soient persistantes entre les différentes sessions d’édition. Ensuite, vous pouvez utiliser http://www.emacswiki.org/emacs/HideRegion pour masquer l'utilisateur. régions sélectionnées ...

(Mais c'est étrange. Le mode de pliage mineur avec des marques persistantes semble être une solution beaucoup plus pratique.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top