Vim rückt Assemblercode nicht richtig ein, egal ob ich es automatisch machen lassen möchte oder ob ich gg=G
es versuche, es sagt nur## Zeilen eingerücktobwohl sich dadurch nichts geändert hat und mein gesamter Text immer noch linksbündig ist.
Antwort1
Es scheint, dass Vim standardmäßig keine Einrückungen von Assemblys vornimmt. Im Verzeichnis /usr/share/vim/vim74/indent von Vim 7.4.335 gibt es keine Dateinamen, die „asm“ enthalten, und weder grep -i asm *
noch grep -i assembl *
gibt es Übereinstimmungen zurück.
Sie könnten Ihr eigenes Einrückungs-Plugin schreiben. Sehen Sie :help indent-expression
sich das zunächst einmal an.
Antwort2
Vielleicht hat vim den Dateityp nicht erkannt? Versuchen Sie
:set ft=nasm
und führen Sie dann Ihren Einrückungsbefehl aus.
oder andere hier aufgeführte Optionenhttps://stackoverflow.com/questions/782384/assembly-vim-syntax-highlighting
Antwort3
Ich weiß, dass diese Methode nicht perfekt ist, aber sie könnte für Sie nützlich sein:
cp /usr/share/vim/vim74/indent/python.vim ~/.vim/indent/nasm.vim
Es wird eine Einrückung auf einer Zeile nach einer Zeile vorgenommen, die mit endet :
.
Die Einrückung wird jedoch nicht rückgängig gemacht, wenn Sie eine neue Bezeichnung eingeben. Vielleicht würde eine andere Syntaxdatei die Aufgabe erledigen.
Antwort4
vim-asm-einrückung
Du könntest interessiert seinin einer Dateidas die Einrückung nach einer Beschriftung festlegt und die Einrückung einer Beschriftung aufhebt.