🦊

【こまもか流 】VimのQOLが上がるVim設定ファイル管理法

2022/03/17に公開

こんにちは。こまもかです。今回はVimのQOLを上げる僕なりのVimの設定管理方法を紹介して行きたいと思います。

プラグインマネージャ

僕は現在プラグインマネージャにvim-jetpackを使用しています。
しかし、僕の管理方法はプラグインマネージャの機能に依存していないのでお好きなプラグインマネージャを使用する事ができます。

コマンド

僕が設定ファイル関係で自作したコマンドは以下の通りです。
(僕はNeovimを使っているファイルのパスになっています。)

Config

command! Config :e $MYVIMRC

ConfigコマンドはVimの設定ファイルを開くように設定したあります。
設定ファイルのパスを$MYVIMRCにしてあるため、Vim/Neovimどちらでも使うことが出来ます。

Configs

command! Configs :call ddu#start({'sources': [{'name': 'file_rec', 'params': {'path': expand('~/.config/nvim/configs')}}]})

Configsコマンドは各プラグインの設定ファイルが配置されている、~/.config/nvim/confgisディレクトリをddu.vimで開くようにしてあります。
こうすることで、設定したいプラグインの名前を検索してすぐに設定を始めることが出来ます。

このコマンドはfzf.vimや、telescope.vimなどのプラグインでも代用可能です。

ConfigsDefx

command! ConfigsDefx :Defx ~/.config/nvim/configs

ConfigDefxコマンドは、configsディレクトリをdefx.vimで開くコマンドです。このコマンドは新しいプラグインをインストールした時に、設定ファイルを追加しやすくする為のコマンドです。

また、このコマンドも、Fern.vimや、Netrwでも代用可能です。

Source

command! Source :source $MYVIMRC

SourceコマンドはVimの設定ファイルを再読み込みします。
$MYVIMRCを使用しているのでVimでも使用可能です。

ディレクトリ構造

├── configs
│   ├── cmds.vim
│   ├── cmode.vim
│   ├── coc.vim
│   ├── ddc.vim
│   ├── defx-git.vim
│   ├── defx.vim
│   ├── denite.vim
│   ├── easymoation.vim
│   ├── eskk.vim
│   ├── keybinds.vim
│   ├── lightline.vim
│   ├── medley.vim
│   ├── plugs.vim.nop 無効化してる設定はnopを付けている
│   ├── previm.vim
│   ├── scripts.vim
│   ├── skkeleton.vim.nop
│   ├── smartword.vim
│   ├── tig.vim
│   ├── twitvim.vim
│   ├── varset.vim
│   ├── vim-emoji.vim
│   └── vim-splash.vim
└── init.vim

使い方

設定のワークフロー

  1. Configコマンドでプラグインを追加します。
    プラグインが追加出来れば良いので、dein.vimを使っている人などはdein.tomlなどを編集すればOKです。

  2. ConfigDefxコマンドで設定ファイルを追加します。
    プラグインを追加した後はこのコマンドでプラグイン名.vimというファイルを追加・編集します。

  3. Source 設定の適用 設定を変更した後はsourceコマンドで適用します。
    僕はsourceコマンドを打つのが面倒なので自作のSourceコマンドを使っています。

  4. 環境改善欲
    READMEなどに載っている設定例などを設定しても、デフォルトのキーバインドと衝突したり、使いずらかったりするので、必ず設定を変えたりしたいと思うはずです。

  5. Configs 設定の改善
    変更したいプラグインの設定ファイルを素早く見つける為にファジーファインダープラグインで該当のディレクトリを開くようにしておくと便利です。

まとめ

今回はVimの設定管理方法を書きました。管理方法をまとめながらこの管理方法でもまだ自動化などで効率を上げられると感じたので今後もこの管理方法を磨いていきたいと思いました。
また、今回の記事はVimでSKKを使って書きました。SKKは取っつきにくいですが、慣れると流れるように文章が書けて快適ですね。今後もバシバシ使って行こうと思います。

GitHubで編集を提案

Discussion