Viエディターでは、ブロックをコピーする必要があります。多くの方法がありますが、1つの方法は非常に迅速です。
何らかの方法で最初の行にラベルを付け、
その後、何らかの方法で終了行にラベルを付けます。
次に、ラベルの付いた行をコピーするコマンドを入力します。
次にコピーします。「p」を使用できますが、わかりません。
誰もがコマンドを知っています(yyまたは10yyではありません)?前もって感謝します。
覚えやすい別のオプションは、2行にマークを付けることです。 ma そして mb、次に:'a,'byank
を実行します。
このタスクを達成するためのさまざまな方法。
ただ使う V 行を選択するか v 文字を選択するか Ctrlv ブロックを選択します。
選択範囲がコピーしたい領域にまたがっている場合 y そして使用 p 好きな場所に貼り付けます...
カットアンドペースト:
コピーと貼り付けは、dではなくyを押すステップ4を除いて、同じステップで実行されます。
d = delete
= cut
y = yank
= copy
ファイルにマークを配置したいようです。
mx xという名前のマークをカーソルの下に置きます
y'x カーソルの現在位置とmark xを含む行の間のすべてをヤンクします。
使用できます 'x カーソルをマークのある行に移動するだけです。
使用できます `x (バックティック)マークの正確な位置に移動します。
私がいつもしていることの1つは、カーソルとマークxの間のすべてをクリップボードにヤンクすることです。
次のようにできます:
"+y'x
注:一部の環境では、クリップボードバッファーは*
ではなく+
で表されます。
いくつかの良い答えと同様の質問:
以下のコマンドの方がはるかに便利だと思いました。 6から12行をコピーして、現在のカーソル位置から貼り付ける場合。
:6,12 co .
6〜12行をコピーして、100行目から貼り付ける場合。
:6,12t100
ソース: https://www.reddit.com/r/vim/comments/8i6vbd/efficient_ways_of_copying_few_lines/
そのためのキーボードショートカットは次のとおりです。
コピーの場合:ブロックの先頭にカーソルを置き、mdを押してから、ブロックの末尾に移動してy'dを押します。これにより、貼り付けるブロックが選択され、pが押されます。
カットの場合:ブロックの先頭にカーソルを置き、maを押してから、ブロックの最後に移動してd'aを押します。これにより、貼り付けるブロックが選択され、pが押されます。
Viで行うように、たとえば、3020から最後まで行をヤンクするには、次のコマンドを実行します(ブロックをファイルに書き込みます)。
:3020、$ w/tmp/yank
このブロックを別の行/ファイルに書き込むには、目的の位置に移動して次のコマンドを実行します(前に書き込まれたファイルを挿入します)。
:r/tmp/yank
(注意:ファイルを削除することを忘れないでください:/ tmp/yank)