⌨️

vimmerになったるでい

に公開

おいどん。と名乗っております

vim初心者でvimmerを目指している私が練習のために取り組んでいることを紹介していきます。
vimを勧誘するほど使いこなせてはいませんが、興味がある人はぜひ試してみてください。

vimtutor

vimが入っているPCであればだれでも起動できるvimのチュートリアルです。
インターン先のメンターさんに教えてもらいました。

7つのレッスンに分かれていて、カーソル移動やテキスト編集、オペレータとモーションなど基本的な操作について学べます。
各レッスンに練習問題や要約なども用意されているので、InputとOutputのサイクルを回せます。
terminalを開いてすぐ始められるので、最初の取っ掛かりとしては最適だと思います。

vimium

vimiumはchromeをvimライクに操作できるchromeの拡張機能です。
これもインターン先のメンターさんに教えてもらいました。

Chromiumベースのブラウザであれば、どれでも使える(はず)です。
最近話題の「Arc」でも使えます。

https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb
↑リンク

使う前にすこし設定をするとより便利に使えます。

https://zenn.dev/gkz/articles/vimium-beginners-guide#4.-vimiumのインストールと初期設定
この方の記事を参考にしました

Extention > Optoin > Custom key mappingsを開いて、以下を記入すると、

# Custom key mappingsの入力タブ
# Insert your preferred key mappings here.
map h goBack
map l goForward
map i LinkHints.activateMode
map I LinkHints.activateModeToOpenInNewTab

h:ブラウザバック
l:進む(ページ)
i:リンクモード?の開始
I:リンクモード?の開始 + 選択すると新規タブで開く

リンクモードとは

リンクモードを起動している図

私もよくわかっていないのですが、リンクモードを起動することでページ内の各要素(ボタンやリンクなど)にキーが割り当てられ、対象のキーをキーボードで入力することでクリックと同様の結果を得られるものです。

リンクモードを使えば、トラックパッドやマウスでカーソルを合わせてクリックする必要がなくなり、検索が高速化します

vimで記事執筆

以前、Zenn記事をGitHubで管理したったりましたという記事で、tmux × vim で記事を書いているよという話をしました。

vimでいきなりコードを書くのは少し私にはハードルが高く感じたので、アウトプット・記事・言語化するのを習慣化するのと同時に、vimに慣れようという取り組みをしています。

GitHubでファイルで管理できるということは自由にエディターを選べるというわけで、せっかくならvimでしょという感じです。

vimで記事を書いている図

vscodeのvimモード

vscodeのvimモードに挑戦しています。
warpやiTermなどのターミナルアプリでvimやneovimなどを使用する場合は、おそらく言語ごとに自分でいろいろ設定したりしないといけないと思うのですが、私はまだその次元まで言ってはいないので、vscodeの恩恵を受けながらキーバインドはvimで高速化しようというものです。

まだまだなれない部分もあるので、個人開発で趣味で書くコードで少しずつ練習しています。

キーボード縛りで修行

vimに慣れない、挫折する理由の一つに「逃げ」があると私は勝手に思っています。
すぐ触れる位置にトラックパッドがあると、vimではなくトラックパッドを使ってしまいますよね。

なので私はキーボードを注文しました(まだ届いていません)
keychronの k12 pro というモデルです。

https://keychron.jp/products/keychron-k12-pro-qmk-via-ワイヤレスメカニカルキーボード-us-ansi-配列

キーボードしかない状況に自分を追い込む事により、vimmerになろうという試みです。

obsidianもvimモード

個人的なメモアプリにobsidianを使っているのですが、macOSのobsidianにはデフォルトでvimモードを搭載しているので、オンにして使用しています。
が、挙動を見ていると、通常のvimではできないこともなんかできそうなのでobsidianのvimでは慣れないようにしようと思います。

おわりに

vim初心者がvimmerになるために努力していることを紹介しました
vimに興味あるvim未経験者はぜひ試してみて下さい

前回に引き続き、技術的に面白みがあることを書けていないので、技術的な内容を書こうとおもいます。

Discussion