Vim
vimrc

vimrcの設定方法を知らない

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

検索周り

Very Magicじゃないと正規表現書けんわ

いろいろと考えた末にぐぐったら何処にでもある普通の方法に落ち着きました。

vimrc
nnoremap / /\v

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

画面表示

タブと全角スペースは表示したい

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

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

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

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

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

colorscheme custom_twilight.vim

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

vimrc
set splitbelow
set splitright

gui少なめでもなんとかなりそう

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ファイルは緊急色強いし消えるから元ディレクトリでいいかな…

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

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

vimrc
set autochdir

矯正しないと

hjklを使え

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

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に移行しているのでこちらも…

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

日本語はともかく、ここの説明がわかりやすかったのでそのまま流してます
Powershellを使ったVim | CODE Q&A (日本語)

文字コード関係

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

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

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

vimrc
set ambiwidth=double

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

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

そのままパクってきました。
脱初心者を目指すVimmerにオススメしたいVimプラグインや.vimrcの設定

プラグイン管理?

dein.vimがいいらしいけどなんかもっとハンディでダンディなやつでよくねっすかね?
vim-plugでよさそうっすね。

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()

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

その他の設定は次のエントリに。