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