Vim アセンブリのフォーマット

Vim アセンブリのフォーマット

Vimはアセンブリコードを適切にインデントしません。自動的にインデントするか、試しても、gg=G次のように表示されます。## 行インデント何も変更されておらず、テキストはすべて左揃えのままです。

答え1

Vim は、そのままではアセンブリのインデントを実行しないようです。Vim 7.4.335 の /usr/share/vim/vim74/indent ディレクトリを見ると、"asm" を含むファイル名はなく、一致するものgrep -i asm *grep -i assembl *返されません。

独自のインデント プラグインを作成することもできます。:help indent-expressionまずはこちらをご覧ください。

答え2

vimがファイルタイプを認識しなかったのでしょうか?

:set ft=nasm

次にインデントコマンドを実行します。

またはここに記載された他のオプションhttps://stackoverflow.com/questions/782384/assembly-vim-syntax-highlighting

答え3

この方法は完璧ではないことは承知していますが、役に立つかもしれません。

cp /usr/share/vim/vim74/indent/python.vim ~/.vim/indent/nasm.vim

で終わる行の次の行はインデントされます:

ただし、新しいラベルを入力してもインデントは解除されません。おそらく、別の構文ファイルで対応できるでしょう。

答え4

vim-asm-インデント

興味があるかもしれませんファイル内ラベルの後にインデントを設定し、ラベルのインデントを解除します。

関連情報