yoshiislandblog.net
元営業の駆け出しアラサーSEが、休日にMACと戯れた際の殴り書きメモ。日々勉強。日々進歩。
Vim_(text_editor)-Logo.wine

deinのプラグイン設定を.vimrc直書きから、tomlファイルへお引越し

2022-08-13

以前、deinの設定をした時は、わかりやすさから「.vimrc」に直書きしていたが、
設定が多くなってきたので、tomlファイルに設定の記載を外出しした時の対応ログ

準備

今までは、.cacheディレクトリ配下にdeinフォルダを置いていたが、.vimディレクトリ配下に移動しておく
(.cacheディレクトリ配下のままでも良いが、cacheディレクトリ配下は違和感あったので、、)

いきなりmvすると.vimrcファイルが編集できなくなるので、とりあえずcp
※ deinディレクトリごとコピーしても良いが、必要パッケージが自動インストールされるdeinの設定に不備がないか確認もしたいので、最低限dein.vimだけコピーした

 
% mkdir -p ~/.vim/dein/repos/github.com/Shougo/
 
% cp -r ~/.cache/dein/repos/github.com/Shougo/dein.vim ~/.vim/dein/repos/github.com/Shougo/

tomlファイルの作成

deinディレクトリ配下に、以下のようなtomlファイルを作成
tomlファイルの名前と置き場所は何でも良いが、今回は「~/.vim/dein/dein.toml」とする

  • .vimrcファイルで「call dein#add(‘Shougo/ddc-around’)」という風に記載していたものは、tomlファイルでは「repo = ‘Shougo/ddc-around’ 」と記載する
  • .vimrcファイルで書いていたスクリプトは、tomlファイルでは「hook_source = ”’【スクリプト】”」という風に記載する
  •  
    % cat ~/.vim/dein/dein.toml
    # ===============
    # Ddc
    # ===============
    [[plugins]]
    repo = 'Shougo/ddc.vim'
    repo = 'vim-denops/denops.vim'
    repo = 'Shougo/ddc-around' # filter
    repo = 'Shougo/ddc-matcher_head' # filter
    repo = 'Shougo/ddc-sorter_rank' # filter
    repo = 'Shougo/ddc-nextword' # source
    
    hook_source = '''
        call ddc#custom#patch_global('sources', ['around', 'nextword'])
        call ddc#custom#patch_global('sourceOptions', {
            \ 'around': {'mark': 'A'},
            \ 'nextword': {'mark': 'nextword'},
            \ '_': {
            \   'matchers': ['matcher_head'],
            \   'sorters': ['sorter_rank']},
            \ })
        call ddc#enable()
    '''
    
    # ===============
    # Indent
    # ===============
    repo = 'Yggdroot/indentLine'
    
    hook_source = '''
        let g:indentLine_setColors = 0
        let g:indentLine_color_term =239
        let g:indentLine_color_gui = '#A4E57E'
        let g:indentLine_char = '¦'
    '''
    

    「.vimrc」ファイルの修正

    次は、.vimrcファイルの修正
    やることは以下3つ

  • deinフォルダを新しいパスに書き換える
  • tomlファイルを読み込む設定を追記
  • tomlファイルに設定を外出しした記載は削除
  • % cat ~/.vimrc
    
    "dein Scripts-----------------------------
    if &compatible
      set nocompatible               " Be iMproved
    endif
    
    " Required:
    set runtimepath+=$HOME/.vim/dein/repos/github.com/Shougo/dein.vim   "★ 新パスに書き換え
    let s:dein_dir = expand($HOME . '/.vim/dein')   "★ 追記
    
    " Required:
    call dein#begin(s:dein_dir)   "★ 新パスに書き換え
    
    " Let dein manage dein
    " Required:
    call dein#add(s:dein_dir . '/repos/github.com/Shougo/dein.vim')   "★ 新パスに書き換え
    
     "★ ここからtomlファイル読み込み設定追記
    " LoadTomlFile:
    let s:toml = s:dein_dir . '/dein.toml'
    call dein#load_toml(s:toml, {'lazy': 0})
     "★ ここまで
    
    " Required:
    call dein#end()
    
    " Required:
    filetype plugin indent on
    syntax enable
    " syntax on
    
    " If you want to install not installed plugins on startup.
    if dein#check_install()
      call dein#install()
    endif
    
    "End dein Scripts-------------------------
    
    (略)
    

    動作確認と後処理

    上の対応が完了したら、適当なファイルをvimで開いて、エラーなど発生していなければOK

    最後に、もう使わないdeinディレクトリは消しておく
    ※ 要注意コマンド ※

     
    % rm -rf .cache/dein
    

    以上。