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

【Vim】コンマ1秒でも起動を速くする為のタイマー機能

$
0
0

前置き

私の重装系vimは、プラグインは40個、vimrcは300行超えのカスタマイズを施してます。
当然、素のvimと比べると明らかに起動が遅い。
プラグインはマネージャに搭載された遅延ロードを使うことで起動の短縮を図ってます。
用意されてる分では足りなかったので、自分で色々試して更に遅延ロードをかけてます。
(参照:https://qiita.com/M4s0n/items/d251a90e4a71d67444dd)

第3世代のエディタが勢力を伸ばす昨今。
盲目にvimを愛する私は、さらなる高みを目指してvimの起動時間を短縮するべく
タイマー機能を活用し、起動を爆速にしました。

環境

vim8

下調べ

先ず、起動時のボトルネックを探りました。

Plug 'mattn/benchvimrc-vim'

上記プラグインを使用すると幾つかボトルネックを発見しました。

python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()python3 del powerline_setup

set undodir=~/.vim/undo
set undofile

大きく分けて2つ

  • vimのステータスラインに使用しているPowerline
  • ファイルを閉じても、以前のundoが使えるようにする設定

遅延ろぉぉぉぉおおど

みんな大好き遅延ロード。
vim8から搭載されたタイマー機能を使って、vim起動後にボトルネックだった設定を読み込ませる。

function!s:lazy_load(timer)python3 from powerline.vim import setup as powerline_setup
    python3 powerline_setup()python3 del powerline_setup
    echo 'Powerline Loaded'set undodir=~/.vim/undo
    set undofile
endfunction" vim起動後、100ミリ秒後にcallされるcall timer_start(100,function("s:lazy_load"))

functionに遅延ロードしたいものを突っ込むだけの荒業。
後は、時間を設定してタイマーをコールするだけであら不思議。
起動が爆速になりました。

まとめ

全部が全部遅延ロード出来るわけではないですが、
遅延して問題ないものはタイマー機能を使ってロードすると、
ちょっぴり幸せになれます。

参考

  • vimrcのベンチマークを計るプラグイン

https://github.com/mattn/benchvimrc-vim


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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