vimの環境を見直した
2025-05-02
Tech久しぶりにvimプラグインをいろいろ見直してみた。
パッケージマネージャ
VundleからJetPackに移行。Vundleに特に不満があったわけではなく、たまには新しいのも試してみるかの精神。
JetPackは、プラグインのインストール時のUIの見栄えがよい。とりあえず当面使ってみる。
起動画面
Startifyを入れた。起動時に、最近開いていたファイルの一覧から選べるのが便利。
実は起動画面だけでなく、セッションを./Session.vimに自動で保存するという機能がある。前はそのために別のプラグインを入れていたがこれに移行。
Jetpack 'mhinz/vim-startify'
let g:startify_change_to_dir = 0 " カレントディレクトリを変えてほしくないのでオフ
let g:startify_session_autoload = 1
let g:startify_session_persistence = 1
ファイルオープン
CtrlPからfzf.vimに移行。外部コマンドを必要とするかわりに速い。コマンドも実はjunegunn/fzfを入れれば入るのでそんなに面倒はない。
コマンド名が:Buffers
みたいに名前空間が付いてないのが気に入らない、と思ったが設定で付けることもできるようになってて、さすが。現在は:FzfBuffers
みたいな名前で使っている。
ファイル一覧は.gitignoreを適用したかったので、rgコマンド(ripgrep)を起動するようカスタマイズした。
Jetpack 'junegunn/fzf', { 'do': { -> fzf#install() } }
Jetpack 'junegunn/fzf.vim'
let g:fzf_vim = {}
let g:fzf_vim.command_prefix = 'Fzf'
nnoremap <Space>u :FzfFilesWithIgnore<CR>
command! -bang FzfFilesWithIgnore
\ call fzf#run({'source': "rg --files",
\ 'sink': 'edit',
\ 'window': { 'width': 0.92, 'height': 0.7 }
\ })
コンパイラの起動
前はquickrunを使っていたのだが、quickrunは「現在のバッファを手軽に実行するプラグイン」で、やりたいのはバッファに関係なくただcargo runを実行することなので、それに適したプラグインを探してみた。
下記の設定で、Space w で RUST_BACKTRACE=1 rake a
をvimのターミナル機能で起動するようになっている。
Jetpack 'skywind3000/asyncrun.vim'
nnoremap <Space>w :<C-u>AsyncRun -mode=term -pos=left RUST_BACKTRACE=1 rake a<CR>
ファイラー
ずっと組み込みのnetrwを使っていたのだがfernを試してみている。まだ設定を詰めきれてないのだがとりあえず現状のはこれ。
Jetpack 'lambdalisue/vim-fern'
Jetpack 'lambdalisue/vim-fern-git-status'
Jetpack 'lambdalisue/vim-fern-mapping-git'
nnoremap <Space>e :Fern %:h<CR>