Home次と同じになるように再マップできます^(ドキュメントによると、Homeのデフォルト関数は移動コマンドと同等です1|):
:map <Home> ^
:imap <Home> <Esc>^i
これにより、挿入モードのマッピングは、挿入モードから脱出し、を押し^てから挿入モードに戻るのと同じになります。挿入モード内で使用するモーションコマンドをマッピングする最良の方法がわからないため、何かが壊れる可能性がありますが、機能しているようです。
インデント設定に関しては、移動コントロールに影響を与えるべきではありませんが、おそらく別の方法で設定することをお勧めします。autoindentは、新しい行の現在のインデントを保持するだけです(したがって、行の先頭に4つのスペースを配置すると、returnキーを押した後、新しい行の前にも4つのスペースが配置されます)。それがほとんどすべてのプログラミング言語、あるいは単に自由形式のテキストでさえ非常に役立つので、なぜあなたがそれを望まないのか分かりません。一方、smartindentは、開始{の後のインデント、および終了}の後のインデント解除など、ハードコードされた軽いC風のインデントルールをいくつか実装しますが、前の行からのインデントを自動的に引き継ぐことはありません。スマートインデントを使用する場合、ドキュメントでは自動インデントをオンにしておくことを推奨しています。
ただし、smartindentは、ハードコーディングされたルールを満たしていない言語や、積極的に有害な言語(「#」で始まる行からインデントを自動的に削除する場合など)には役に立ちません。これは、プリプロセッサディレクティブであると見なされますが、インデントされたコメントを書き込もうとしているPythonプログラマー)。
そのため、vimには、より高度なインデントモードであるファイルタイプインデントも含まれています。これにより、言語/ファイルタイプごとに柔軟なインデントルールが可能になり、ほとんどの人(Cのような言語でも)に推奨されるインデントモードになります。ファイルタイプのインデントを使用する場合は、smartindentをオフにすることをお勧めします(そうしないと、Pythonファイルのすべてのコメント行を列0に移動するなど、ファイルタイプのインデントを妨げる可能性があります)。
個人的には、私は常に自動インデントをオンにしており、利用可能な場合はファイルタイプを使用し、smartindentを使用することはありません。私の.vimrcには以下が含まれます:
set autoindent " doesn't interfere with filetype indents, and is useful for text
if has("autocmd")
" Enable file type detection and indentation
filetype plugin indent on
set nosmartindent
endif
ファイルタイプのインデントが利用できない多くの異なるCのような言語を編集している場合、ファイルタイプのファイルタイプのインデントが存在しない場合にのみsmartindentをオンにするためにできることがあると思います。