一部のテキストエディタ(Kate、geditなど)では、自動インデントが有効になっている場合、returnキーを2回押すと、末尾に空白が残ります(これが必要です)。
if (code) {
....
....|
}
他の人は(空白行でも)末尾のスペースが許可されていないコーディング標準に対応しています:
if (code) {
....|
}
これについて私を悩ませているのは、自動インデント後に上向き矢印を押すと、自動インデントが失われることです。
if (code) {
|
....
}
Vimと:set autoindent
を実行すると、後者の動作が発生します。
私の質問は、vimを設定して、末尾のスペースが使用されなくなった場合に自動的に削除するのではなく、保持するようにするにはどうすればよいですか?
空の行でも正しいインデントを設定する方法については、vim
wikiの このヒント を参照してください。前のインデントを保持したいだけの場合(正しいインデントとして計算されたvim
を無視して)、同じwikiエントリの下のコメントで説明されているようにlet ind = indent(prevnonblank(v:lnum - 1))
を使用します。
私は この解決策 私のために働くことがわかりました:
:inoremap <Return> <Space><BS><Return>
私の.vimrcでは:
" Change a blank line upon creation so that its leading spaces won't be removed
inoremap <Return> <Return><Space><BS>
nnoremap o o<Space><BS>
nnoremap O O<Space><BS>