Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimのヤンク&ペースト

$
0
0

Vimで記述したコードをwebで提出する時などにペーストできず四苦八苦したのでここでまとめておく. Vimの中でペーストするだけなら簡単だが他のものにペーストするときには予め一手間おいておく必要がある.

本題はペーストの項にあるのでお急ぎの方はそちらへどうぞ.

悪い例(Terminalに覚えさせる)

範囲をマウスで指定してctrl + shift + cすればターミナルからクリップボードに"コピー"できる.でもマウスを使うなんてCUIやキーボードがベースのVimっぽくないし,Vim自体からクリップボードに覚えさせているわけではない. なによりイケてない.

どうせならVimの力だけで済ませたいというのがVimmerのロマンだ.

範囲選択

コマンド動作
vビジュアルモードに移行
(vモード) h,j,k,l範囲選択
(vモード) Gカーソル行から最後まで選択
(vモード) ggカーソル行から最初まで選択
ggvG全選択

ヤンク(コピー)

コマンド動作
ddカーソルのある行をカット
nddカーソルのある行を含め下にn行カット
yyカーソルのある行をヤンク
nyyカーソルのある行を含め下にn行ヤンク
yvで選択した範囲をヤンク
エディタ動作
:n,m yn行目からm行目までヤンク
:%y全体ヤンク

ペースト

コマンド動作
pヤンクした範囲をペースト(カーソルの下の行)
npヤンクした範囲をnつペースト
Pヤンクした範囲をペースト(カレント行)

ちなみにこのとき任意の場所でない箇所でインデントされてしまうのを防ぐために, エディタモードで:a!を打ち込んでからpでペーストし, excキーを打てば希望通りの文章をペーストできる.

ここからが本題だ.

クリップボードとVim

クリップボードが使えるか

クリップボードを使わないとコピー&ペーストはできない. だがVimがクリップボードを使えない可能性がある. 自分のVimはどうなのか調べてみよう.

$ vim --version | grep "clipboard"

このとき一番最初に出てきたのが-clipboardだった同志はvim-gtk, もしくはvim-gtk3をインストールしよう. これはGUIバージョンのVim, gVimが付属したVimである. だがgVimを使う必要はない. インストールすると通常のVimでも+clipboardに, つまりクリップボードを使えるようになる.

$ sudo apt-get install vim-gtk

なお上の結果が最初から+clipboardだった人はおそらく残念なMacユーザかと思われるが, いずれにせよこの作業は必要ない.

Vimにクリップボードを使わせる

.vimrcというファイルをご存知なら, そこに次の一行を加えよう.

.vimrc
setclipboard=unnamed,autoselect

もしご存知でなかったら, これはいい機会だ. 自分のホームディレクトリに .vimrcというファイルを作成し, 上の文を加えよう. vimはカスタマイズ性に優れたテキストエディタであり, このファイルはそれを実現してくれるファイルだ. 是非 .vimrcをいじって自分だけのvimを手に入れよう.

ペースト先によって異なるペースト方法

Vimにペーストするならコマンドモードからpだが, 他のエディタやwebページなどにペーストするならctrl + vでペーストする.

よいVim Lifeを!

参考にしたサイト

「vim」の種類 - http://zorinos.seesaa.net/article/451348076.html←是非見に行くと良いと思います.


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>