Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
43
Help us understand the problem. What is going on with this article?
@koara-local

vimrcを編集したら自動で反映する

More than 5 years have passed since last update.

表題どおりの件です。

基本的な設定

ひとまず自分がvimrcの頭に記載している設定を掲載
詳細は下に

vimrc
" init all settings
set all&
" init autocmd
autocmd!
" set script encoding
scriptencoding utf-8
" tiny と small では これ以上 vimrc を読み込まない
if !1 | finish | endif
" This is vim, not vi.
set nocompatible
" syntax hilight
syntax enable
" auto reload .vimrc
augroup source-vimrc
  autocmd!
  autocmd BufWritePost *vimrc source $MYVIMRC | set foldmethod=marker
  autocmd BufWritePost *gvimrc if has('gui_running') source $MYGVIMRC
augroup END

koara-local/dotvim

vimrcの再読み込み

少なくとも再読み込みに必要なのは以下の設定
vimrcと名前のつくファイルを更新したら、source $MYVIMRC を実行

vimrc
" auto reload .vimrc
augroup source-vimrc
  autocmd!
  autocmd BufWritePost *vimrc source $MYVIMRC | set foldmethod=marker
  autocmd BufWritePost *gvimrc if has('gui_running') source $MYGVIMRC
augroup END

参考:
Hack #74: 簡単にvimrcを編集する
Vimでvimrcを編集しやすくする記述とvimrcのリロードでモードラインの設定が無視される問題

普段gvimは使わないのでよく知りませんが、
gvimの場合は、sourceするだけでは反映されない設定があるようなので
tyruさんの、restart.vim あたりをつかうと捗るらしいです(要検証

tyru/restart.vim

参考:
[vim]現在の状態を復元して gVim を再起動する

追記

:bufdo source $MYVIMRC

ですべてのバッファに更新を適用・・・できるように一瞬みえたのだけれども
カラーがおかしくなったりしてうまく動かない模様

いい方法があれば教えて下さい・・・

再読み込み前に設定をリセット

ただこれだけだと、例えば set expandtab などをコメントアウトした場合に、
Tabが入力される状態に戻ってくれなかったりする。( set noexpandtabとしないといけない )

ちょっとそれは面倒なので、再読み込みのたびに最初に設定をデフォルトに戻す。

vimrc
" init all settings
set all&

これで set expandtab をコメントアウトか削除するだけで、すぐにTabが入力される状態になった。
ついでにgroup設定のされていない autocmd もリセットしているけれども、必要性は不明

vimrc
" init autocmd
autocmd!

ついでにすぐにvimrcを開けるようにする

自分は ,v でvimrcを開くようにしています。

vimrc
" Edit vimrc
nmap ,v :edit $MYVIMRC<CR>
43
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
koara-local
言語は最近は C#, Javaあたりがメイン。端末VimからIDEに移行。IntelliJすごい。Qiitaでの記事やその中の主張は、所属している企業/団体の意見を代表するものではありません。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
43
Help us understand the problem. What is going on with this article?