Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

【vimめも】 13. プラグイン

$
0
0

プラグイン

vimを更に便利にするために、様々な機能が開発されてgitで公開されている

vimスクリプトだけでなく、様々な言語で書くことができるらしい(詳しくは知らない)

プラグイン管理

10以上のプラグインを使用するようになると、すべてを自分でcloneしてupdateして・・・
など大変

そんな管理を楽にするためのプラグインも、もちろんあります

種類や人気度は@b4b4r07さんのこちらの記事を。

導入(dein)

ここでは私が使用しているdeinの使い方を載せます

余談:vim-plugの導入でわかりやすくい記事はこちら
↑乗り換えようとしたけどvim-plugが合わなかったのでやめた

それ以外のものを使いたい際は自分で調べてください

流れ

1. deinを用意(git clone)
2. deinが読み込まれるようにruntimepathを通す
3. deinの書き方で、入れたいpluginを書いていく
4. call dein#instal()にてプラグインをインストール

1、2

手作業の場合は、任意のディレクトリにcloneしてruntimepathを通す

set runtimepath+=#{cloneしたディレクトリ}

もしくは、ここもvimrcを読み込んだ際に自動で行われるようにしましょう

if has('nvim')lets:dein_cache_path= expand('~/.vim/cache/nvim/dein')elselets:dein_cache_path= expand('~/.vim/cache/vim/dein')endif" dein本体を準備if&runtimepath !~'/dein.vim'lets:repos_path=s:dein_cache_path.'/repos/github.com/Shougo/dein.vim'if!isdirectory(s:repos_path)
    execute '!git clone https://github.com/Shougo/dein.vim.git '.s:repos_pathendif
  execute 'set runtimepath+='.s:repos_pathendif

3

下記の2つの間に記載する

if dein#load_state(s:dein_cache_path)call dein#begin(s:dein_cache_path)
call dein#end()call dein#save_state()end

記載の方法が2種類ある

  • vimスクリプト
  • tomlファイル

vimスクリプトでの記載

下記のようにgitのアカウント・リポジトリを指定する
https://github.com/Shougo/neocomplete.vimの場合

call dein#add('Shougo/unite.vim')call dein#add('Shougo/neocomplete.vim')

第2引数に辞書型でオプションを指定できる

call dein#add('Shougo/vimfiler.vim',{\'hook_add': 'nnoremap <silent>[Space]v\:<C-u>VimFiler -invisible<CR>'
\})

詳しくは下記を参考に
https://github.com/Shougo/dein.vim#options

tomlファイルでの記載

tomlファイルを生成し、記載

dein.toml
[[plugins]]repo='Shougo/unite.vim'[[plugins]]repo='Shougo/denite.nvim'if="has('python3')"hook_post_source='''source$XDG_CONFIG_HOME/plugins/denite.rc.vim'''

vimrcからtomlを読み込む

call dein#load_toml($XDG_CONFIG_HOME .'/dein.toml',{'lazy':0})call dein#load_toml($XDG_CONFIG_HOME .'/deinlazy.toml',{'lazy':1})

4

インストール

" 未インストールがあればインストールif dein#check_install()call dein#install()endif

最終系

私のvimrcの内容をそのまま貼っておきます

if has('nvim')lets:dein_cache_path= expand('~/.vim/cache/nvim/dein')elselets:dein_cache_path= expand('~/.vim/cache/vim/dein')endifif&runtimepath !~'/dein.vim'lets:repos_path=s:dein_cache_path.'/repos/github.com/Shougo/dein.vim'if!isdirectory(s:repos_path)
    execute '!git clone https://github.com/Shougo/dein.vim.git '.s:repos_pathendif
  execute 'set runtimepath+='.s:repos_pathendif

syntax enable

if dein#load_state(s:dein_cache_path)call dein#begin(s:dein_cache_path)call dein#load_toml($XDG_CONFIG_HOME .'/dein.toml',{'lazy':0})call dein#load_toml($XDG_CONFIG_HOME .'/deinlazy.toml',{'lazy':1})call dein#end()call dein#save_state()endif" vimprocだけ先にインストールしておくif dein#check_install(['vimproc.vim'])call dein#install(['vimproc.vim'])endif" 未インストールのものがあればインストールif dein#check_install()call dein#install()endif

前回: 【vimめも】 12. タブ


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>