vimrcの設定方法を知らない

最初は[vim-jpにあるkaoriya版](https://vim-jp.org/)を使ってみたんですが、プリセットされるとvimrcがうまく把握できなかったので、素の8.0をインストールしてkaoriya版のvimrcを見ながら自分で設定してみました。深く調べたところだけ特記。

## 検索周り

### Very Magicじゃないと正規表現書けんわ
いろいろと考えた末にぐぐったら何処にでもある普通の方法に落ち着きました。

```vim:vimrc
nnoremap / /\v
```

後で調べたらそもそも`:set magic=Very\ Magic`みたいな事は出来ないらしい。

## 画面表示

### タブと全角スペースは表示したい
タブに関しては`:set list`するらしい。表示の設定は`set listchars`を使う。
ついでに行末スペースも表示できるらしいのでしておく。これで半角スペースは表示せんで良さそう。

```vim:vimrc
set list
set listchars=tab:>-,trail:-
```

全角スペースはカラースキームと色合わせたいなぁと思ったのでカラースキームの方に書くことに。気に入ったスキームはtwilightでした。

```vim:vimfiles/colors/custom_twilight.vim
	" 全角スペース
exec 'highlight JpSpace gui=underline guifg='.s:grey
au BufRead,BufNew * match JpSpace /　/
```

twilight.vim内の変数`s:grey`で色を指定したかった。
カラースキームの記述はgvimrcの方に書くことに

```gvimrc
colorscheme custom_twilight.vim
```

### `:split`周りは下/右方向に出てほしい

```vim:vimrc
set splitbelow
set splitright
```

### gui少なめでもなんとかなりそう
```vim:vimrc
set guioptions-=T
set guioptions-=l
set guioptions-=r
set guioptions-=L
set guioptions-=R
set guioptions-=b
```

## ファイル/ディレクトリ関係

### バックアップはまとめたい
「なんでこんなファイルバラ撒くねーん！」ってなったのでがんばって調べる。

- バックアップは`backupdir`
- swpファイルは`directory`
- _viminfoは`viminfo`に**ファイル名**を記述
- undoファイルは`undodir`に

…swpファイルは緊急色強いし消えるから元ディレクトリでいいかな…

```vim:vimrc
set backupdir=E:/document/txt/backup/vim
"set directory=~/vimfiles/autogen
set viminfo+=n~/vimfiles/viminfo
set undodir=~/vimfiles/autogen
```

### ディレクトリは開いたファイルのところがいいなぁ

```vim:vimrc
set autochdir
```

## 矯正しないと

### hjklを使え

もうこれは指封じるよりねぇな。

```vim:vimrc
	" hjklを使え
nnoremap <Up> <Nop>
nnoremap <Down> <Nop>
nnoremap <Left> <Nop>
nnoremap <Right> <Nop>

inoremap <Up> <Nop>
inoremap <Down> <Nop>
inoremap <Left> <Nop>
inoremap <Right> <Nop>

	" かわいそうなのでちょっとだけ楽に
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
```

まだ甘えがあるのでちゃんと`<C-o>2b`とかやるクセをつけないとダメかもしれない。

## シェル設定

できることは全てpowershellに移行しているのでこちらも…

```vim:vimrc
	" シェル設定
set shell=powershell
set shellquote=\"
set shellxquote=
```

日本語はともかく、ここの説明がわかりやすかったのでそのまま流してます
[Powershellを使ったVim | CODE Q&A (日本語)](https://code.i-harness.com/ja/q/170ae)

## 文字コード関係

### えぇー今日日なんでデフォでcp932やねん！

```vim:vimrc
	" 文字コード関係
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,cp932,iso-2022-jp,euc-jisx0213,euc-jp,guess
```

### 三点リードおかしいんだけど…

```vim:vimrc
set ambiwidth=double
```

## なんかカーソル位置いい具合にできるみたいっすよ？

```vim:vimrc
	" 最後のカーソル位置を復元する
if has("autocmd")
    autocmd BufReadPost *
    \ if line("'\"") > 0 && line ("'\"") <= line("$") |
    \   exe "normal! g'\"" |
    \ endif
endif
```

そのままパクってきました。
[脱初心者を目指すVimmerにオススメしたいVimプラグインや.vimrcの設定](https://qiita.com/jnchito/items/5141b3b01bced9f7f48f#最後のカーソル位置を復元する)

## プラグイン管理？

[dein.vim](https://github.com/Shougo/dein.vim)がいいらしいけどなんかもっとハンディでダンディなやつでよくねっすかね？
…[vim-plug](https://github.com/junegunn/vim-plug)でよさそうっすね。

```vim:vimrc
	" vim-plug
call plug#begin('~/vimfiles/vim-plugged')
	Plug 'vim-jp/vimdoc-ja'
	Plug 'vim-jp/autofmt'
	Plug 'simeji/winresizer'
	Plug 'thinca/vim-singleton'
	Plug 'nathanaelkane/vim-indent-guides'
	Plug 'Shougo/unite.vim'
	Plug 'Shougo/neomru.vim'
	Plug 'mattn/webapi-vim'
	Plug 'kana/vim-metarw'
	Plug 'joker1007/vim-metarw-qiita'
call plug#end()
```

プラグインの設定は省略。

その他の設定は[次のエントリ](https://qiita.com/astrorobot110/items/65e6d86bc769cb96c6b0)に。