私は Vim を学ぶ努力をしています。
クリップボードからドキュメントにコードを貼り付けると、新しい行の先頭に余分なスペースが挿入されます。
line
line
line
自動インデントをオフにできることは知っていますが、他の設定が競合しているか何か他の理由で、それを機能させることができません (これは .vimrc では非常に明白に見えますが、削除すると問題にならないようです)。
コードを貼り付けるときに自動インデントをオフにして、コードを書くときに vim の自動インデントを維持するにはどうすればよいですか? これが私の.vimrc
ファイルです:
set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent
set bg=dark
set nowrap
ベストアンサー1
更新:より良い回答はこちら:https://stackoverflow.com/a/38258720/62202
コードを貼り付けるときに自動インデントをオフにするには、特別な「貼り付け」モードがあります。
タイプ
:set paste
次に、コードを貼り付けます。ツールチップのテキストに と表示されていることに注意してください-- INSERT (paste) --
。
コードを貼り付けた後、貼り付けモードをオフにして、入力時の自動インデントが再び正しく機能するようにします。
:set nopaste
しかし、私はいつもそれが面倒だと感じていました。そのため、テキスト編集中に<F3>
貼り付けモードと非貼り付けモードを切り替えることができるようにマップしました。これを追加します.vimrc
set pastetoggle=<F3>