0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

vim/gvimで特に使えると思っている機能とかキーとか

Last updated at Posted at 2024-10-22

端書

ここ2~3年で、テキストエディタの世界はすっかりVisual Studio Code(VSCode)一強となりました。(このテキストを書くのに調べてみたら、VSCodeの初回リリースは2015年なんですね。もう少し最近かと思っていました。)

そんな中 癖の塊でしかないvim/gvim(以下、vi系)を使っていて、とても便利だと思った機能を紹介します。
基本的な使い方は 既に多くの方が記事を書かれているので そちらを参照してください。

なぜvi系を使うのか?

始まり

セミナー(※1)に行った時、OSがLinuxで viをまったく使えませんでした。
「設定を変更して保存してエディタを終了する」ことすらできない悔しさ。
できないならトレーニングすればよい。そこからvi系を探していたところ、gvimに出会いました。

生真面目にマニュアル読みながら覚えようとして挫折すること2回。
「カーソルの移動」と「コピー(ヤンク)」「ペースト」「デリート」のみでとりあえず使い始め 今に至ります。

※1
確か、Azureがまだ弱々だった頃のPostgreSQLのセミナーでした。

それでも有効性は高い

会社では ほぼWindowsしか使わないので、vi系知識が「必須になる」ことはありません。
ただ、OracleやPostgreSQLを使用する時、リリースタイミングと相互運用チェックと趣味でLinuxに構築することもあるので、意識せず使えるようになったvi系の知識は重宝します。

そして便利に使えるようになる

使えば使うほどコマンドを覚えて便利に使えるので、VSCodeよりも使っています。
(つまりVSCodeも使っています。)
せっかくなので、いくつか紹介したいなぁ、と思い至りました。

機能:連番

概要

連番をつけたい場合、番号なしでテキスト作成してから番号をつけます。

手順

テキストを作成して
image.png
Ctrl+vで矩形選択モードにして、カーソル移動(Shift+gでもOK)で最終行まで選択し
image.png
Shift+i1.ESCで左端に1.をまとめて設定
image.png
2行目以降の数値部分をCtrl+vで矩形選択し
image.png
gCtrl+a で連番になります。
image.png

仕組み

Ctrl+aは自身を含め右側で一番近い数字のインクリメント。
これにgをつけています。
gについては後述します。)

機能:カーソル行以下削除(=レジスタ保存)

概要

私のgvim使用用途は主に「下書き」であり、作成した文書は別のところに持っていく必要があります。
書き出しを一番下の行から行えば、この方法で 簡単に余す所なくレジスタに入れることができます。

手順

文書を作成したら
image.png
書き出し部分に戻り
image.png
dShift+g
image.png
あとは必要なところに貼り付ける
image.png

仕組み

削除(レジスタ保存)のdと、最終行への移動のShift+gの組み合わせです。

移動キー:{}

概要

段落移動できます。
目に見える範囲で移動できるので、Cntl+bCntl+fよりも使い勝手がよいと思っています。

動作

}を繰り返し押下した時の動作は以下の通りです。
image.png
image.png
image.png
image.png
image.png
{は上記の逆方向に動作します。

もちろん、他のカーソル移動系キーと同様、d,y,vとの組み合わせも可能なので、「ブロックを切り取って移動する」などが簡単にできるようになります。

痒いところに手が届くg

gはちょっとした機能を提供してくれます。
表示上の行移動(gj,gk)、半角空白なしの行結合(gShift+j)、貼り付け後 貼り付けた最終行に移動(gp)など。
今まで使っていたコマンドにgを付加すると結構面白いです。

あとがき(今後)

何か良さげなものがあったら追記します。

あとがき(雑談)

セミナーなどでノートPC のキーボードを使った時、vi系のカーソル移動は本当に便利だと感じました。
普段使いのキーボードは カーソルキーをホームポジションにマッピングしているので、そのあたりの利便性は気づきませんでしたが、ノートPCでNotepad使うと カーソル動かすだけでイライラしました。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?