VimでこのGistをコピーしようとしたときに、これを取得しました: https://Gist.github.com/w0ng/3278077
どこでも同じ動作に気づきます。コメントを含むものを貼り付けると、コメントに続くすべてのものにコメントが貼り付けられます。
多分それは私が挿入モードでコメントを書いてEnterを押すと、次の行が自動的にコメントを追加するという事実と関係があるのかもしれません。
どうすればこの動作を取り除くことができますか?
貼り付ける前に貼り付けモードに入ります:
:set paste
「通常」モードに戻すには:
:set nopaste
これが起こっていることです。コメント行にいるときに、新しい行を自動的にコメント化するVim書式設定オプションがあります。これらのオプションの一部は通常、デフォルトで有効になっています。例えば、
# a comment<CR>
#
ご覧のとおり、新しい行の先頭にはコメント文字が自動的に追加されています。 c
の設定からr
およびformatoptions
を削除することにより、これらのオプションの大部分を無効にすることができます。見る :h fo-table
これらのオプションの詳細については。
:set formatoptions-=cr
Vimには、ターミナルエミュレータの貼り付けメカニズムで貼り付けられたテキストと入力したテキストを区別する方法がありません。貼り付けオプションの設定(set paste
)は、貼り付けられたテキストを予期し、望ましくない書式設定オプションを無効にするようにVimに指示します。
私のお気に入りはput
コマンドを使用することです。
:put*
現在の行の選択範囲から貼り付け:put+
現在の行のバッファから貼り付け"*p
/"+p
も良いですが、:pu[t]
にはいくつかの利点があります。
:$put+
最終行の後に貼り付け:0put+
ファイルの先頭に貼り付けます副次的な回答として、これが含まれているファイルがある場合は、垂直ビジュアルブロックモードを入力してファイルを取り除くことができます。
ctrl+v 矢印キー/ hjklを使用して、削除するパーツをナビゲートし、次に d
ときどき、貼り付けモードの設定を元に戻したり、貼り付けたり、設定を解除したりするよりも、これが早いと思います。