【vim練習】超絶便利なレジスタについての触って学べるTIPS
レジスタはvimをメインで扱うのであれば絶対に学んでおきたい機能です。
vimはヤンクや消去の作業をするたびにレジスタにその内容が保存される性質であるため、普通のエディタのようにコピー・ペーストがうまくいかない場合があります。特にデリート作業をした時にその内容がいちいち保存されてしまうので、通常のエディタで慣れている人はペーストする内容が思い通りにならなくて、つまづきます。
レジスタの性質や機能を学んでその操作に慣れておけば、vimをメインエディターとして使うのに不自由のないものとなるでしょう。
まず下記練習モードで実際に1度手を動かしてみてから、レジスタ操作の基本ルールを覚えていただき、改めて練習モードを繰り返し行うと効果があがります。
まずは実際に練習
※推奨ブラウザ Google Chrome
レジスタ操作の基本
レジスタ操作の基本ルールは「”」でレジスタ操作を始め、次に「a」などのレジスタの名前を指定し、「y」、「d」などコピー(ヤンク)や切り取りの操作をするという流れになります。上記練習ではコピーした直後でペーストを行っていますが、「a」などの名前でレジスタを保存しておけば、合間に様々な操作をしていても、「a」のレジスタを上書きしない限り、「a」の値をいつでもペーストできます。
基本の形 | 「”」→「a〜zの文字」→「yなどのコマンド」 |
---|
レジスタ関連コマンド
上記基本ルールに沿って、よく使いそうなコマンドをご紹介。レジスタの名前は下記では具体的に紹介しておりますが、「a~z」の間であれば何でも良いと思ってください。
選択範囲をレジスタ「a」に保存する | “ay |
---|---|
現在行をレジスタ「b」に保存する | “byy |
選択範囲を消去しレジスタ「c」に保存する | “cd |
現在行を消去しレジスタ「d」に保存する | “ddd |
レジスタ「a」の内容をペーストする | “ap |
レジスタの情報一覧を表示
保存したレジスタの内容を確認したい時に入力するコマンドです。ちなみにレジスタの「0」は直近にコピー(ヤンク)したものが入り、「1~9」は削除したものの履歴を順番に保存していきます。この件は下に一覧を載せておきます。
レジスタの情報一覧を表示 | :reg enter |
---|
レジスタの名前について
レジスタ一覧を見るとわかりますが、様々な名前でレジスタが登録されています。それぞれの意味についてよく使う箇所のみフォーカスしてご紹介します。
レジスタ「0」 | 直近にヤンクした情報が格納される。逆に言えば「d」や「x」などで操作した内容は保存されない。 |
---|---|
レジスタ「1~9」 | 直近に削除した情報が順番に格納される。逆にヤンクした内容はここには保存されない。9以降の情報は削除されてしまう。 |
レジスタ「a〜z」 | 「a〜z」の名前を明示的に指定して保存できる。この方法でレジスタを保存する際はレジスタ0には格納されない。 |
INSERTモード中のレジスタの使用について
INSERTモード中にレジスタを使用するときは「ctrl + r」の後に「レジスタ登録名」を押下します。「ctrl + r」を押下するとカーソルが「”」に変わるのでその状態で「a~z」などのレジスタ登録名を入力するとその内容がペーストされます。
INSERTモード中にレジスタペースト | ctrl + r [レジスタ名] |
---|
最後に
実はレジスタのコマンドについては他にまだまだ存在していたりするのですが、全部紹介すると混乱してしまうかもしれないので割愛します。しかしここで紹介しているものを覚えておけば、十分vimをメインエディタとして使える実力をつけることができます。是非しっかり練習して身につけてください。