All Articles

これから育てていくvimの設定

はじめ

普段コーディングするときには tmux & vim,たまに VSCode を使っています. vim に関してはまだまだ小学生レベルですが,せっかくブログを始めたことですし自分の作業環境を記しておこうと思います. 何年か後に自分の成長具合を確かめる柱の傷になるでしょうか.

。o ○ (こういう記事を書くの夢だったんですよねぇ…)

この記事は vim 編です.

nvim

vim と言いつつ nvim を使っています. 今回紹介した設定ファイルは自分のdotfilesの一部として公開しています.

init.vim(.vimrc)

設定しているのは

  • 行番号を表示
  • 今いる行のハイライト
  • insert モードから”jj”で normal モードに戻る

…などです,

set number
set tabstop=4
set shiftwidth=4
set background=dark

hi LineNr ctermbg=0 ctermfg=7
hi CursorLineNr ctermbg=4 ctermfg=0
set cursorline
hi clear CursorLine

inoremap <silent> jj <ESC>

あとは後述する拡張のキーバインドの変更など,諸々の設定ですね. 詳しくはこちらに

colors

hybrid というテーマを使っています. 目に優しい配色で,個人的に好きな色合いです. hybridsample

dein.toml/dein_lazy.toml

プラグインの管理には dein を使っています. 使用するプラグインを設定ファイルに定義します.

[[plugins]]
repo = 'Shougo/dein.vim'

[[plugins]]
repo = 'neoclide/coc.nvim'
rev = 'release'
on_i = 1
merged = '0'
hook_add = """
source ~/.config/nvim/plugins/coc.rc.vim
"""

[[plugins]]
repo = 'Shougo/defx.nvim'
depends = ['defx-git', 'defx-icons']
hook_add = """
source ~/.config/nvim/plugins/defx.rc.vim
"""

[[plugins]]
repo = 'Shougo/denite.nvim'
hook_add = """
source ~/.config/nvim/plugins/denite.rc.vim
"""

[[plugins]]
repo = 'jiangmiao/auto-pairs'

dein_lazy.tomlの方には,各言語ごとのプラグインを設定しています.

[[plugins]]
repo = 'leafgarland/typescript-vim'
on_ft = ['typescript', 'typescriptreact']

[[plugins]]
repo = 'rust-lang/rust.vim'
on_ft = ['rust']

...

言語ごとのプラグインはシンタックスハイライトだったりフォーマッタだったりが多く,その言語を書きたいと思った人なら入れるであろうプラグインが多いと思うので,メインで使っているプラグインについて少しだけ触れます.(宗教戦争にもなりかねませんし)

coc

LSP クライアントです. vim でインテリセンスが効くようになります. 初めて使ったときは感動しました. ほとんどは公式の README に載っている設定を参考にし,使わなそうな部分やコンフリクトするキーバインドは適宜変更しています. cocsample

defx

ファイラです. 必要に応じて呼び出せるのでファイラを常時に表示しておく必要がなくなりました. ファイル・ディレクトリの作成/削除もできるので便利です. 起動はsfに割り当てています. このプラグインを使うようになってから,コーディングのスピードが格段に上がった気がします. cocsample

denite

プロジェクト内のファイル検索ができます. インクリメンタルサーチができるのですごく便利です. 「あのファイルどこだっけ」で探す手間が省けたりします. 奥深くに埋もれてしまったファイルを開くときには特に便利です. cocsample

auto-pairs

ブラケット,クォーテーションなどの入力補完です. とても便利. 細かいことですがこれがあるのとないのでは,だいぶ違いがあると思います.

さいご

いろんな方の設定を参考に気分で設定を変えています. tmux 編も良ければどうぞ. 暇つぶしにはなれると思います.たぶんですけど.