[Vim入門③] 縦の移動をマスターしよう

はじめに

💡
この記事はVim入門シリーズの第3弾です。 初めての方は過去記事もどうぞ:
第1弾: Vimの4つのモード
第2弾: 横方向の移動

今回はVim入門シリーズ第3弾、縦の移動について徹底解説していきます!

おさらい

前々回の記事にて、h, j, k, l キーで移動できることについて軽ーく触れました。 jキーで下に一文字移動、kキーで上に一文字移動でしたね。

また、前回は移動する際に使えるコンビネーションもいくつか紹介しました。

今回も同じコンビネーションを使って上下に移動していきます!

ここまでの回を読めば、超スピードでカーソルを縦横無尽に移動できるようになります! 頑張っていきましょー!

また回数指定

まず一つ目に紹介するテクニックが回数指定です。

そう、前回も紹介した、移動コマンドの前に回数を指定するアレです。

例えば、上に5行移動する場合は5k、下に7行移動する場合は7jと打ちます。

しかし、この回数指定のネックも前回紹介しました。そう、目視で何行移動するか判断するのはムズカシイのです。

でも、縦移動の場合のみ、強力な助っ人がいるんです。

Line numbering で行数を表示する

前々回、コマンドモードを紹介しました。:の後にコマンドを書いて、Vimを動かすモードです。 ファイル保存するときに打つ:wqもコマンドモード使ってますね。

もちろん、コマンドモードの機能はそれだけでなく、Vimの設定もイジることができます。 :set ○○で、いろんな機能を付けたり消したりできちゃうんです。

今回紹介するのはset numberおよびset nu。これを打つと、画面左端に行数を表示してくれるようになります。

これがあれば、回数指定もちょっと楽になりますよね!今いる行と移動したい行で引き算すればいいわけd…

遅い!遅すぎる!!!
行間を移動するたびにいちいち引き算してたら日が暮れてしまうので、ちょっと機能を拡張しましょう。

Relative line numbering で相対的な行数を表示


Vimにて:set relativenumberおよび:set rnuと打つと、左端の行数がちょっと変わります。 なんと、今いる行を起点に上下に行数を数えていってくれるんです!

これ、画面左を見れば行きたい行がここからどれぐらいか一目でわかるので、 jとkの移動には欠かせない設定です。回数指定がすごい捗ります。

横の移動では微妙だった回数指定ですが、縦移動の場合はRelative Line Numberingと合わせることで化けるんです! 希望の行にすいすい移動できるようになります。

もっと大きい距離を移動したい

これでjとkが100倍使えるようになったわけですが、それだけでは対応しきれないケースがあります。

行数って画面の表示範囲内に制限されちゃうんです

一応、1000k とかでかい数字を指定して移動することはできますが、それでは確実性がありませんし、大きい数字をタイピングしてるとそれはそれで遅いです。

大きい距離を連打で移動できるコマンドがあると便利ですよね。

そこで紹介するのがCtrl + uCtrl + d。Ctrl + u(upのu)は上に20行、Ctrl + d(downのd)は下に20行移動できます。

Ctrl押しっパにして u or d 連打すればファイルを上下に早く移動できます。

マウスに手を伸ばさずに画面をスクロールできちゃうわけですねー!

ファイル内で単語を検索したい

続いて紹介する移動方法はほかのエディタでもよく使われるものです。皆さん、ブラウザやWordなどで Ctrl + f で単語検索するときありますよね? もちろん、Vimでもできます。

/ と打った後に、検索したい単語を打ってEnterです。

検索すると、最初のヒットがハイライトされて表示されると思います。 この状態から、次のヒットに移動したい場合はn、前のヒットに戻りたい場合はbで戻れます。

ピンポイントで移動したい単語がある時に使います。これはどのエディタにもある、共通の便利機能ですね。

おまけ

ファイルの先頭と後尾への移動

Vimでは、ノーマルモードからggでファイルの先頭(一行目)に移動し、Gで最後尾に移動できます。

段落を移動する

最後に、前後の段落に移動する方法を紹介します。

Shift + {Shift + } です。

Shift + {で前の段落に移動、Shift + } で後方の段落に移動できます。

レポートやコードなど、まとまった文章を書いているときは使える場面もあります。

しかし、前回の wおよびbの紹介でも話したのですが、段落の判定ってVimのさじ加減になっちゃうんですよね。100%自分の思い通りに動いてくれるわけではないので、確実性に欠けます。

個人的には Ctrl+u Ctrl+bと回数指定のコンボで事足りると思ってます。段落の移動はあまりしません。

おわりに

以上で、Vimでの縦の移動についての紹介を終わりにしようと思います。 もちろん、ほかにも移動方法はいろいろあるのですが、ここで紹介したもので大体事足りると思ってます。

この第3パートまでVimの移動は一通り終了です。ここまで読めばVimのカーソルを自由に動かせることができるようになると思います。

しかし、カーソルを動かしてるだけでは意味がないので、次回からは文章の編集方法についてガッツリ紹介していこうとおもいます。

Read more

zshの模様替えをしました

zshの模様替えをしました

💡この記事は下の動画の受け売りです: はじめに 今年も早いもので、すでに三月。春の始まりです。 春といえば新しい生活。心機一転! 周りの環境が大きく変わる方も多いのではないでしょうか? 今年の春、私の人生に大した変化はないのですが、それでも人生にちょっと新しい風を吹かしたいな~と思うので、今回思い切って模様替えをしようと思います! ターミナル環境のね。 zshellって? シェル (shell) とは、OSとユーザーの仲介役。ターミナルを開いたときに動くプログラムがシェルです。 そのシェルにも色々あるんです。sh, bash, fish, ksh などなど…。今回は、その中のzsh というシェルの話。 zshは高いカスタマイズ性が人気です。zsh そのものの機能と豊富なプラグインでターミナル環境を自分の好きなように設定できます。 私もzshを使い始めて数年たちますが、欲しいところにちゃんと手が届く、という印象です! …とか言いつつ私は面倒くさがりなので、自分で.zshrc をイジることはしません。YouTubeやSNSなどで見つけたカッコいいタ

By Roland Thompson
Terraformを使って"AWS Lambdaとその取り巻き"を召喚しよう

Terraformを使って"AWS Lambdaとその取り巻き"を召喚しよう

はじめに 人生、いろんな「派閥」ってありますよね。私が属するITインフラ業界にも色々あります。どのクラウドを使うか、どのIDEを使うか、どのOSを使うか…枚挙に暇がありません。 インフラ(IaC)言語もその一つ。私はこの業界に足を踏み入れてから、ずっとCloudFormation派閥です。私はAWS専門だったので、AWS公式のCloudFormationで仕事が成り立ってました。 しかし最近、AzureやDatabricks関連の仕事も私に降ってくるようになりました。そうなると、AWS限定のCloudFormationでは対応できません。 そんなとき、複数のクラウドプラットフォームに対応できるTerraformという存在を耳にしました。 Terraformの練習として、AWS Lambdaとその取り巻き(ECR, IAM, Secrets Manager, CloudWatch, SQS) を召喚してみたので、この記事にまとめます。 環境構築 まずは公式マニュアルを参考にTerraformをインストールしましょう。 ターミナルからTerraformが動けば、インストー

By Roland Thompson