Quand j'écris du code C ou Java, c'est extrêmement régulier, mais avec assembly ( asm-mode
), c'est tellement désorganisé.
J'utilise auto-complete
et yasnippet
. J'ai créé des extraits de code et je les utilise, mais l'organisation du code et le retrait sont désorganisés.
Quel (s) paquet (s) m'aiderait:
- indenter facilement le code et les commentaires correctement, afin que je puisse voir ce que fait chaque morceau de code;
- naviguer dans cette grande masse de code, donc je peux facilement sauter entre des morceaux de code?
indentation
navigation
Vivian Maya
la source
la source
asm-mode
devrait faire, mais ne le fait pas? (Quelles fonctionnalités manquent?)asm-mode
se comporte différemment de tout le reste) et configurer un environnement décent (sauter, compléter le code) est un concert valide.Réponses:
Utilisez simplement le intégré
asm-mode
. Il vous donne la coloration syntaxique pour tous les langages d'assemblage.gas-mode
ne fait pas cela et n'est pas utilisable avec la syntaxe AT&T.Si vous souhaitez définir une indentation pour
asm-mode
, notez que vous ne pouvez pas utilisertab-width
maistab-stop-list
qui spécifie les espaces que 1 tab, 2 tabs, 3 tabs ... peuvent afficher:L'exemple ci-dessus signifie que le premier onglet a 4 espaces, le 2ème onglet (à côté du premier onglet) a 8 espaces, le 3ème onglet (à côté du deuxième onglet) a 12 espaces ... et ainsi de suite.
Vous pouvez également générer la liste comme ceci:
number-sequence
génère une liste de nombres, avec le numéro de départ2
(le premier argument) jusqu'à60
(le deuxième argument), chaque nombre diffère par2
le nombre à côté de lui. Et n'oubliez pas de vous liernewline-and-indent
à RET, donc Emacs se met automatiquement en retrait pour vous.Si vous voulez sauter, utilisez des Ctags comme ceci:
-e
signifie générer une base de données de balises à utiliser par Emacs.-R
signifie générer de manière récursive des balises pour les fichiers dans les sous-répertoires à partir de la racine du projet.Après cela, vous pouvez utiliser
helm-etags-select
pour sauter ou un autreetags
client dans Emacs si vous n'utilisez pas Helm.EDIT : Voici un exemple de configuration:
Vous pouvez également avoir une complétion de base
company-complete
en appuyant surS-TAB
:Vous pouvez utiliser
<tab>
pour déclencher l'achèvement car les deux<tab>
etM-i
exécuter la même commandetab-to-tab-stop
qui insère des espaces ou des tabulations dépend de votre paramètre deindent-tabs-mode
. La bonne chose aveccompany-mode
est que vous obtenez une brève description du candidat actuellement mis en évidence dans le mini-tampon, si disponible. Par exemple, si vous avez une définition comme celle-ci:Lorsque vous déplacez le curseur sur
KeyStrokes
candidat, il s'imprimeword 0
dans le mini-tampon.la source
Vous pouvez essayer le mode Gas. Cela devrait vous aider avec votre problème.
http://www.emacswiki.org/GasMode
la source