0

改行で終わらないテキストをどこかから Windows のクリップボードにコピーし、ctrl c編集中のテキスト ファイル (vimコンソール モードでcmd.exe) に貼り付けます"+p。たとえば、「リンク アドレスをコピー」を右クリックした URL。

次に、次のクリップボードの内容 (その間にコピーされます) を次の行に貼り付けるには、カーソルをそこに移動する必要がありますo <Enter> <Esc>

これを行うためのよりスマートな方法は何ですか?

によってコピーされた行など、改行で終わるテキストを取りますyypまたはで貼り付けると、カーソルが行の最初の文字に無関心にとどまるのはなぜPですか?

4

4 に答える 4

2

正確には何をしているのですか?

の後"+p、通常モードになり、<Esc>ここでは何の役にも立たずo、現在の行の下に挿入するために新しい行を開き、<Enter>キャリッジ リターンを挿入して 2 行下に移動し、<Esc>もう一度押すと通常モードに戻り、さらに貼り付ける準備ができましたコンテンツ。

bar他のプログラムからコピーして[]、通常モードと|挿入モードでカーソルをマークするために、そのように見ています。

[]

"+p

ba[r]

<Esc>o

bar
|

<Enter>

bar

|

<Esc>

bar

[]

それはあなたがすることですか?

o<Enter>カーソルを 2 行下に配置する必要がある場合は、最適化する方法がたくさんあります。簡単なマッピングをお勧めします。

nnoremap <F3> 2o<Esc>"+p

これにより、下に 2 つの空行が追加され、"+そこにレジスタの内容が貼り付けられます。

{count}または( 2<F3>, )を取るよりスマートなもの9<F3>:

nnoremp <F3> :<C-u>execute 'normal! ' . v:count . 'o'<CR>"+p

もちろん、 の代わりに任意のキーまたはキーの組み合わせを選択できます<F3>

于 2013-02-05T08:11:41.120 に答える
1

私のUnconditionalPaste プラグインglpは、レジスタの内容が末尾の改行文字のない単なるテキストであっても、新しい行にレジスタを貼り付ける のような特殊な貼り付けコマンドを提供します。

于 2013-02-05T07:31:25.217 に答える
1

これを試して:

:map <F9> "+p<ESC>o<CR><ESC>

F9キーバインディングの代わりに好きなものを使用してください。

次に、クリップボードにテキストを選択してヒットしますF9(またはキーバインディングとして選択したものは何でも)

于 2013-02-05T06:00:42.153 に答える
1

{register} を使用して、レジスタの内容を挿入モードで直接「配置」できます。

したがって、キーストロークは次のとおりです。

a<C-r>+<CR><CR><Esc>
a<C-r>+

したがって、「a」で挿入モードに入り、クリップボードに使用されるレジスタ「+」を入力してから、2 つの改行を挿入し、通常モードに戻り、2 番目のリンクをコピーして操作を繰り返します。

于 2013-02-05T06:06:49.567 に答える