必要なのは、現在の行とそのすぐ上の行をヤンクすることです。
たとえば、次の例では:
3 My test line
4 Line above current line
5 My current line |(cursor)
6 Line below current line
カーソルが 5 行目にあるときに、5 行目と 4 行目をヤンクするにはどうすればよいですか?
ykは、次のキーストロークをモーションとして受け入れ、単独で 1 行上のモーションを表すため、1 行上の方向への Yank のように、これを行う必要があります 。yk
カーソルを元の位置に戻す必要がある場合は、jas を追加するだけykjです。画面上でカーソルが不自然に動くのを見るかもしれませんが、それで問題は解決します。
この単純なケースでyk
は、うまくいきます。これは yank で、その後に1 行上に移動します。
一般に、現在の行とその前の 3 行をヤンクする場合yNk
などに使用します。y3k
ヤンク後にカーソル位置に戻る必要がある場合は、マークを設定し、次の後にマークに戻りyk
ます。
mmyk`m
同じカーソル位置ではなく、ヤンクを開始した同じ行にとどまる必要がある場合は、ykj
短くなります。
他の回答で既に言及されている通常モードのコマンドに加えて:yank
、対応する行の範囲で Ex コマンドを使用できます。たとえば、現在の行とその上の行を (カーソルを移動せずに) コピーするには、次のように実行します。
:-,y