どうやってVimの全行を複製するのですか。 Ctrl+D IntelliJ IDEA/Resharperの場合 Ctrl+Alt+↑/↓ Eclipseで?
yy または Y 行をコピーする
または
dd 行を削除(切り取り)する
それから
p コピーまたは削除されたテキストを現在の行の後に貼り付ける
または
P コピーまたは削除されたテキストを現在の行の前に貼り付ける
通常モード:他の答えを見てください。
元 way:
:t.
は行を複製します、:t 7
は7行目以降にコピーします。:,+t0
は、現在行と次の行をファイルの先頭にコピーします(,+
は.,.+1
の範囲の同義語です)。:1,t$
は、行の先頭からカーソル位置までの行をコピーします(1,
は、範囲1,.
の同義語です)。コピーする代わりに移動する必要がある場合は、:m
の代わりに:t
を使用してください。
これを:g
または:v
と組み合わせると非常に強力になります。
:v/foo/m$
は、パターン「foo」に一致しないすべての行をファイルの末尾に移動します。:+,$g/^\s*class\s\+\i\+/t.
は、カーソルの直後にclass xxx
という形式の後続の行をすべてコピーします。参照::help range
、:help :t
、:help :g
、:help :m
および:help :v
YP
またはYp
またはyyp
。
これ以上単純にはならないでしょう。通常モードから:
yy
貼り付けたい行に移動して
p
yy
現在の行を削除せずにヤンクします
dd
現在の行を削除します
p
上記のいずれかの方法で取得した行をput
にします。
これを行う:
最初、 yy 現在の行をコピーしてから p 貼り付けます。
他の方法が欲しいなら:-)
"ayy
これはその行をバッファに格納しますa
"ap
これはバッファの内容a
をカーソルの位置に置きます。
これには多くのバリエーションがあります。
"a5yy
これは5行をバッファに格納しますa
http://www.vim.org/htmldoc/help.html を参照してください。
yyp - 「yippee!」で覚えています
間に数字が入った複数行
y7yp
yyp - 後に貼り付ける
yyP - 前に貼り付ける
また、<C-x> <C-l>を試してみると、挿入モードから最後の行が繰り返され、すべての行が表示された完了ウィンドウが表示されます。それはほとんど<C-p>のように働きます
もう1つの選択肢は、次のようなものです。
nmap <C-d> mzyyp`z
カーソル位置を保持するという利点があります。
好き: Shift+v (すぐに行全体を選択し、必要に応じて他の行を選択できるようにする)、y、p
Viを知らない人のために、上からのいくつかの答えは "paste ... after/before"のようなフレーズで彼を誤解させるかもしれません 現在行"#:。
実際には「貼り付けて...前後に」 カーソル"#:。
yy または Y 行をコピーする
または
dd 行を削除する
それから
p コピーまたは削除したテキストをの後に貼り付ける カーソル
または
P コピーまたは削除されたテキストをの前に貼り付ける カーソル
他のキー割り当てについては、このサイトにアクセスしてください。 vi Complete Key Binding List
1つの注意:あなたが行を置くために "p"を使うとき、それはそれを置く after カーソルがある行新しい行を配置する前に、行の下にカーソルを置きます。
デフォルトは yypしかし、私は1年かそこらのためにこの再結合を使っていて、それを愛しています:
" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv
Viを学び始める人のために、ここに典型的なWindows GUIエディタのカーソル移動とショートカットキーに並んだviコマンドを並べることによってviのよい入門書があります。それは含むすべての基本的なコマンドをリストします yy (コピー行)そして p (後に貼り付ける)または P(前に貼り付け).
私はパーティーに遅刻していることを知っていますが、何でも。私の.vimrcにこれがあります。
nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>
:copy
コマンドは、選択された行または範囲(常に行全体)を、引数として指定された行番号の下にコピーするだけです。
通常モードでこれがすることはcopy .
この行をこの行のすぐ下にコピーする です。
そしてビジュアルモードではそれは'<,'> copy '>
選択範囲の始まりから選択範囲の終わりまでの範囲を選択範囲の終わり の下の行にコピーします。
Sublimeと同じように、行を複製して現在のlikeのすぐ下に貼り付ける場合 Ctrl+Shift+Dその後、これを.vimrc
ファイルに追加できます。
imap <S-C-d> <Esc>Yp
私はこのマッピングを使うのが好きです。
:nnoremap yp Yp
ネイティブのYP
コマンドと一緒に使用するのが一貫しているからです。