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