Vimmerに会って世界が変わった（効率化のためのツール紹介）

# はじめに
今年Vimの魅力を布教され、積極的に学習を進める中で、コーディング以外でもキーボードから手を離すことなく効率的に作業がしたい...と考えだしました。真っ先にショートカットを活用しようと思いましたが、限界がありどうにかできないかとツールを探しました。本記事では今日までに私が導入して良かったツールや効率的に作業する方法を紹介します。  

（参考までに、私は主にXCodeを使いたまにAndroid StudioとVSCodeを使っています。ideが変われば欲しい機能も変わると思うので記載しておきます。）

:::note warn
vimの導入に関することは書いていません。
:::
# 対象者

- mac使用者
- キーボードから手を離したくない方
- 効率を上げたい方

# vim
- __ホームポジションから手を離さない移動__
Vimではカーソルキーを使わず、h、j、k、lキーでカーソルを移動します。これにより、ホームポジションから手を動かさずにテキスト内を自在に移動できます。
<br/>

- __括弧の操作が簡単__
中括弧内を選択するだけでなく、文章を中括弧で囲むなどの操作が非常に容易です。これにより、効率的にテキストを編集できます。
<br/>

- __統一された操作感__
Vimはどの環境でも同じような操作感を提供します。IDEに依存せず、一度覚えた操作が様々な環境で活かせるため、柔軟性があります。
<br/>

- __vimrcでのカスタマイズ__
Vimの設定ファイルであるvimrcを利用して、ユーザーが独自の設定を追加・変更できます。これにより、Vimを自分の好みに合わせて最適化できます。

これらの特徴からストレスなく、かつ素早くコーディングに取り掛かれます。
参考： https://qiita.com/jnchito/items/57ffda5712636a9a1e62

# chrome拡張機能
以下のツールを使用することで、Google検索の利用がより効率的になります。キーボードを活用して素早く情報を見つけることができるので、是非活用してみてください。

### [Vimium C](https://chromewebstore.google.com/detail/vimium-c-all-by-keyboard/hfjbmagddngcpeloejdejnfgbamkjaeg)
- マウスなしでのリンクへのジャンプ
fを押すとページ内のリンクに一意のキーが表示され、それをタイプすることでそのリンクに直接ジャンプできます。

- スムーズなスクロール
トラックパッドでのスクロールに似たスムーズなスクロールができます。ブラウザ内でVimのような操作感覚(j,k)で素早くスクロールすることが可能です。

- ナビゲーション
ブラウザの「戻る」や「進む」の操作もVimiumCで簡単に行えます。Vimのコマンドラインのように、簡潔なキーバインディングでページの遷移を行うことができます。

VimiumCはこれだけでなく、さまざまなVimに近い操作感を提供する機能を備えています。たとえば、ページ内検索、タブの切り替え、ページのズームなど、ブラウジング体験を向上させるための機能が満載です。

これらの機能により、VimiumCを利用することでブラウジングがより効率的になり、Vimの操作に慣れ親しんだユーザーにとっては親しみやすい拡張機能となっています。ちなみに、vimiumCではなくvimiumも存在しますがvisualモードの使い勝手が良いのでvimiumCを愛用しています。

### [Google検索キーボードショートカット](https://chromewebstore.google.com/detail/google%E6%A4%9C%E7%B4%A2%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88/dchaandmcifgjemlhiekookpgjmkcelg?pli=1)

- 検索結果をキーで開く
Google検索結果のリンクをj,kで選択しenterでジャンプすることができます。

- 検索モードの切り替え
画像検索、動画検索など各種検索をショートカットで切り替えられます。

# macアプリ
### spectacle
Spectacleは、Macユーザー向けのウィンドウ管理アプリで、コマンドでアプリのウィンドウを簡単に他のディスプレイに移動させたり、ウィンドウサイズを変更したりすることができます。
(リンク切れのため詳しい解説及び導入法は[こちら](https://qiita.com/gotchane/items/7b2593f077bfd2488413))

### iterm2
画像のように他のウィンドウの上にterminalを出現させられます。（背景画像は弊社猫）
![スクリーンショット 2023-12-04 11.21.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/877696/dc85a69d-14ec-3286-1474-b673c5e01d64.png)
透過具合を設定で調整できたり、cpuやメモリの使用状況を表示させることもできます。なお、画像のようにフルスクリーンで背景透過は[こちら](https://qiita.com/ruwatana/items/8d9c174250061721ad11)を参考に設定してください。  

iTerm2はカーソルあるディスプレイに画面を表示します。任意のディスプレイに表示するには、次項で解説するS2Mouseを使うのをおすすめします。

https://iterm2.com/

### [S2MouseWindow](https://apps.apple.com/jp/app/s2mousewindow/id6448846384)
コマンドを使用してマウスカーソルを他のディスプレイに素早く移動させることができます。

# ドットファイル系

### gitconfig
先日書いた記事で、レビューの時に便利なチェックアウトのコマンドをエイリアス設定しました。
他には`switch`を`sw`に短縮しています。

https://qiita.com/wadawd/items/c3572b31b4327b29d37b
### zshrc
日常的に利用するコマンドや文字数の多いコマンドは、手軽に実行するためにエイリアスを積極的に活用しています。例えば、ディレクトリ移動など、手間のかかる作業もエイリアスを使って素早く行います。
```
alias project='cd ~/path/to/project'
```

# まとめ
時間のかかる操作も慣れれば気にならなくなり、意識的に探さないと見つからないことがあるものです。今回紹介したツールによって短縮された操作も、Vimに出会う前はあまり気にならなかったものばかりでした。ツールを導入したことで、以前は何気なく行っていた操作に結構な時間が取られていたことに気づくことがあります。

ツールを使い始める前は難しく感じることもありますが、一度使い始めると離れられなくなることもしばしばです。これからも積極的に新しいツールを探して、作業効率を向上させていこうと思います。

今回紹介したツール以外におすすめがあればぜひコメントで教えてください！！

# おまけ

### キーボード
肩こり対策として導入した分割キーボードが、予想以上に高いカスタマイズ性を持っていて、自分の好みに合わせてキーボードの配置や機能を調整できるため、最適なキーボードレイアウトを作ることができるのでおすすめです！
`スペース長押し + qwertyで数字`
`スペース長押し + h,j,k,lで十字キー`
私は[遊舎工房](https://shop.yushakobo.jp/)で購入し[remap](https://remap-keys.app/)でキーボードレイアウトを設定しました。