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

【vimめも】 3. レジスタについて

$
0
0

vimでは通常のクリップボードのコピー&ペーストとは違う
レジスタという保存領域を持っている

xydの操作時にはレジスタという領域に保存されるようになっている

レジスタの種類

@0829さんがわかりやすくhelpの内容をまとめてくださってました
vimのレジスタ

むずかしい・・・

という方のために、簡単にまとめると
(個人的に必要と思うものだけ)

レジスタ意味
"通常のヤンクや削除時に無差別に入る
a-z指定して入れれる(上書き)
A-Za-zの内容に追加で入れれる
+クリップボード。winなら*でもよいがmacを考えると+を使うべし
0直近のヤンク(コピー)したものが入る ※1
1-9直近の変更・削除したものが入り、順に1から9へと移っていく。9以降は削除される ※1
.直近に挿入した文字が入る
:直近に実行したコマンドラインのコマンドが入る
%編集中のファイル名
_保存されない消去専用のレジスタ(ブラックホール)

※1:レジスタを指定していなかった時のみ入る

使い方

ノーマルモード

" + {レジスタ} + {オペレータ}
で任意のレジスタに入れるようにして、コマンドを実行できる

{オペレータ}のみでレジスタをしてしていなければ、"の無名レジスタが対象のレジスタとなる

オペレータ意味
xカーソルの文字を削除+ヤンク
sカーソルの文字を削除+ヤンク+挿入モードに入る
yy1行ヤンク
dd1行削除+ヤンク
cc or S1行削除+ヤンク+挿入モードに入る
d + 位置指定範囲を削除+ヤンク ※2
y + 位置指定範囲をヤンク ※2
pカーソルの後に貼り付け
Pカーソルの前に貼り付け

※2:wやbやeやfやGなどの移動でのコマンドと組み合わせることができ、カーソル位置から移動先の位置までが対象範囲

挿入モード

<C-r> + {レジスタ} : レジスタの内容を貼り付け

ビジュアルモード

" + {レジスタ} + {オペレータ}

オペレータ意味
x or d削除+ヤンク
yヤンク

使い方の例

私のマッピング例です
削除 と 切り取り をはっきりと分けて使い分けてます

" 削除のみ
vnoremap d "_d
nnoremap d "_d
vnoremap D "_D
nnoremap D "_D
vnoremap x "_x
nnoremap x "_x
vnoremap s "_s
nnoremap s "_s

" 切り取り
nnoremap td
vnoremap tx
nnoremap tt dd
nnoremap T D

Viewing all articles
Browse latest Browse all 5608

Trending Articles



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