VSCode vimの設定ファイルをGithubに公開

# 概要
数年前からVSCodeで使っている設定ファイルを公開していたのですが、せっかくなのでQiitaで記事にして周知しようと思った次第です！
macOS用のインストールスクリプトも用意しているので、cloneしてコマンド一つ叩くと利用できるようにもなっていますので、是非利用してみてください！
※現在の設定ファイルが上書きされるので、インストールする前に今までお使いの設定ファイルのバックアップを取っておいてください

https://github.com/walkersumida/vscoderc

# 購読対象者
- vimmerがこれからVSCode vimに乗り換える準備/検討している人
- VSCodeを利用してvimmerを目指している人
- VSCode vimを使っているけど、良いコマンドが無いかを探している人

※基本的なvimの操作は知っている前提です

# キーマッピング
`<leader>`は `,` (カンマ)を利用しています。もし別のキーを割り当てている人は、forkして `"vim.leader"` の部分を書き換えて利用してください。
また、なぜこのキーマッピングに割り当てたのか？がわかると覚えやくすくなると思いますが、それは[リポジトリ](https://github.com/walkersumida/vscoderc)のREADMEに書いてあるので、そちらを覗いてみてください！

## エクスプローラー上でのファイル操作のキーマッピング
![2021-08-07 at 16.34.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/bf100f92-195b-ada3-1f5a-9e7eae7559a0.png )

### ファイル作成( `m a` )
エクスプローラー上で、`m a`と打ちます。そうすると、テキストボックスが現れます。そして、ファイル名と拡張子を入力しEnterキーを押すことで、ファイルが作成されます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/1abed2c8-6242-92b3-3c6b-55ec76a10790.png" width=50%>

### フォルダーの作成( `m f` )
エクスプローラー上で、`m f`と打ちます。ファイル作成時と同じようにテキストボックスが現れるので、フォルダー名を入力しEnterを押すことで、フォルダーが作成されます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/a16010e6-8f6c-0292-2097-cd1470e970e5.png" width=50%>

### ファイル/フォルダー名の変更( `m r` )
エクスプローラー上で、名称を変更したいファイルやフォルダーにカーソルを合わせます。そしたら、`m r`を押すことでテキストボックスになり変更することが可能になります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/0ef608a8-5110-4738-fd5f-dc3a623793cc.png" width=50%>

### ファイル/フォルダーの削除( `m d` )
エクスプローラー上で、削除したいファイルやフォルダーにカーソルを合わせます。そしたら、`m d`を押すことで削除することができます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/44fbcbbe-7f20-9272-bf98-7da5950c2193.png" width=75%>

### ファイル/フォルダーの複製や移動( `m c` and `m p` )
ファイルやフォルダーの複製や移動は、一発で行うキーマッピングを組めなさそうなので、CopyとPasteを利用して行います。まず、`m c`でコピーを行い、ペースとしたい部分にカーソルを移動し、`m p`を押すことで、複製が行えます。移動の場合は、コピー元を`m d`で削除してください。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/17847b01-4df2-bcd9-5386-1e36c66efb55.png" width=50%>

## エディター上の画面操作のキーマッピング
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/ae9dfa0f-ff6a-67ef-ec48-da8b5707095f.png" width=50%>

### エディターを水平に分割( `s h` )
ファイルにカーソルがあたっている状態で、`s h`を押すと、画面が水平に分割されます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/82247f8e-9fb1-74dc-6bc0-310ad54a39f0.png" width=50%>

### エディターを垂直に分割( `s v` )
ファイルにカースルがあたっている状態で、`s v`を押すと、画面が垂直に分割されます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/ec59dbdb-735f-48fd-b8d0-491d3e41125d.png" width=50%>

`s h`と`s v`を組み合わせて使うことで、4分割にもできます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/2137da49-6f74-6fbe-0d32-3464cb9a2af4.png" width=50%>

### 分割したエディターの移動( `ctrl+k`, `ctrl+l`, `ctrl+j`, `ctrl+h` )
分割したエディタの移動は、vimのカーソル移動のキーマッピングに`ctrl`を一緒に押すことで移動ができます。
![2021-08-08 at 15.18.54_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/e0128fab-b587-19fa-4a82-71a95afc7671.png)

### カーソルが当たっているエディター以外を全て閉じる( `ctrl+w o` )
現在カーソルが当たっているエディター上で、`ctrl+w o`を押すと、カーソルが当たっている以外のエディターが全て閉じます。

### カーソルが当たっているエディターを閉じる( `ctrl+w c` )
現在カーソルが当たっているエディター上で、`ctrl+w c`を押すと、カーソルが当たっているエディターが閉じます。

## サーチエディターでのキーマッピング
### プロジェクトの全てのファイル内の文字列検索( `<leader>g` )
いわゆるグレップ検索です。`<leader>g`を押すと、検索ボックスにカーソルが当たるので、検索したい文字列を入力してください。
![2021-08-08 at 15.56.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/f10af508-3e1b-46b7-da7a-761279fb8bd9.png)

### 検索結果をエディターで表示( 検索ボックス上で`Enter` )
検索ボックスに検索文字列を入れ、`Enter`を押すと、その検索結果がエディター上に表示されます。なぜエディターで開くかと言うと、そうすることで検索結果が見やすくなるのと、その検索結果上で`ctrl+]`を押すと、その結果のファイルの行にジャンプしてくれるからです。
![2021-08-08 at 22.27.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/d5179f8c-3f85-bbbe-c1ac-21e120509f5b.png)

## ノーマルモードでのキーマッピング
### ファイルの保存( `<leader>w` )
保存したいファイル上で、`<leader>w`で保存できます。

### エクスプローラーの開閉( `<leader>nn` )
`<leader>nn`でエクスプローラーの開閉ができます。

### カーソルが当たっているファイルをエクスプローラー上で表示( `<leader>nf` )
カーソルが当たっているファイル上で、`<leader>nf`を押すことで、そのファイルにカーソルが当たった状態で、エクスプローラーを開きます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/2b6bc9e1-c367-6d1d-4f31-163c0768ff84.png" width=50%>

### ファイル検索( `ctrl+f` )
プロジェクト内のファイルを検索します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104056/493392d5-38bd-159a-f313-3c163e7d9b77.png" width=50%>

### ファイル内文字列検索( `<space>` )
文字列を検索したいファイル上で、`<space>`を押し、検索したい文字列を入力しEnterを押すことで、文字列を検索できます。Enterを押したあとに、`n`を押すことで次のヒットした部分にカーソルが移動します。前に戻りたい場合は、`shift+n`でカーソルを戻せます。
※vimの`/`を`<space>`でも起動するようにしています

# まとめ
いかがでしたでしょうか？vimmerの皆さんの作業効率が更に上がることを願っております！ここに記載した以外にもたくさんのキーマッピングがありますので、気になる方は、[リポジトリ](https://github.com/walkersumida/vscoderc)の中身を見てみてください！
気に入った方は、是非forkしてカスタマイズして使ってみてください！

反響次第では、この記事を随時更新していきます！

また、もし他にも良いキーマッピングがありましたら、PRやコメントをお待ちしております！それと、まだ実現したいけど実現できていないキーマッピングもあるので、[リポジトリ](https://github.com/walkersumida/vscoderc)にTODOを載せようと思います！その時は助けてください！