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

Vim 8.0 Advent Calendar 8 日目 defaults.vim

$
0
0

この記事は Vim 8.0 Advent Calendarの 8 日目の記事です。

今回は新しく Vim に追加された defaults.vim という機構について解説します。

背景

Vim には今でも多くの新機能が追加され便利になっていっていますが、一方で互換性も重視しています。
中には、シンタックスハイライトなど明らかに便利であるにも関わらず、デフォルトでは有効になっていない機能があります。
新しく Vim を使い始めるユーザーにとって、互換性が理由で便利な機能がすぐに使えないことはあまり嬉しくはないでしょう。
そこで追加されたのが defaults.vim です。あくまで Vim 自体のデフォルト値は変えずに、ユーザーに便利な設定を提供します。

defaults.vim の読み込み

ユーザーの vimrcファイルが存在しない場合、$VIMRUNTIME/defaults.vimファイルは自動で読み込まれます。
読み込みたくない場合は、vimrc を読み込まない場合と同様に vim -u NONEvim -u NORCなどを指定して Vim を起動します。
また、システム管理者が defaults.vimを読み込ませたくない場合、システムワイドの vimrc にて let g:skip_defaults_vim = 1を行うことで defaults.vimの設定は適用されなくなります。

なお、この defaults.vimの追加によって、Vim は通常の起動でコンパチブルモードで起動することがなくなりました。このことは非互換の変更として help にも記載されています。

defaults.vim の内容

例えば以下のような設定があります。

  • Vi 互換モードをオフにする (set nocompatible)
  • filetype の検出やプラグインなどを有効にする
  • シンタックスハイライトを有効にする
  • 'nrformats'オプションの値から octalを取り除く
  • 間違えて <C-u>したときに undo できるようにする
  • :DiffOrig Ex コマンドの定義 (:help :DiffOrig)

詳細は実際にファイルの中身を見てみてください。:e $VIMRUNTIME/defaults.vimで開けます。

defaults.vim から始める vimrc

defaults.vimは最初に使い始める vimrc の叩き台としても機能します。
新しく自分用の vimrc を書き始めたいと思ったとき、defaults.vimの内容を継承したい場合は、defaults.vimファイルを vimrcファイルにコピーするか、もしくは vimrcの先頭に以下のように書きます。

source $VIMRUNTIME/defaults.vim

ここから、自分の気に入らない部分をちょっとずつ手を加えていくとよいでしょう。

逆に言うと、これらを行わずにユーザーの vimrcファイルを作成すると、defaults.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>