問題タブ [ftplugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - プラグインの「ftplugin」の追加方法
Vim プラグインが独自の "ftplugin" ディレクトリを持っているのをよく見かけます。
(例: https://github.com/rust-lang/rust.vim )
これらをロードする方法は?
vim - Are plugins loaded by vimrc or afterwards?
Vim がプラグイン ファイルをロードする順序について混乱しており、オンラインでさまざまな回答を見つけているようです。 vimrc がプラグインの前にロードされることを示唆しているように見える回答もあれば、vimrc のソース中にロードされていることを示唆しているものもあります。after/ ディレクトリ内のvimrc、プラグイン、およびプラグインがロードされる順序、それぞれがロードされる原因、およびvimセッション中にそれぞれがいつリロードされる可能性があるかを誰かが明確にしてくれませんか(たとえば、vimrcを再度ソースするとどうなるか、いつ何が起こるかなど)ファイルタイプの設定など)?filetype plugin indent on
vim - システム全体の言語固有の Vim ftplugin .vim ファイルを配置する場所
/etc/vimrc
ユーザーが上書きしない限り、ユーザーのデフォルトとして機能する、言語に依存しないベースライン設定をいくつか入れました。
それぞれのファイルを配置する標準的なシステム全体の場所はどこですか?{language}.vim
ユーザーごとに、私は常にこれらを に入れてきました~/.vim/ftplugin/{language}.vim
。つまり、次のもの~/.vim/ftplugin/python.vim
が含まれる可能性があります。
ただし、これは特定のユーザーに対してのみ有効です。
のシステム全体のバージョンはどこに置くべき~/.vim/ftplugin/
ですか? を直接編集/usr/share/vim/vim74/ftplugin/python.vim
するか、別の場所でオーバーライドする必要がありますか?
情報:
の出力:scriptnames
:
の出力:h runtimepath
:
vim - .vimrc、ftplugin、after/ftpluginなどで値を設定した後、Vimは最終的にどの設定を適用しますか?
私はpythonファイルを編集しています。タブストップの現在の設定は次のとおりです(実験的なものです):
- ~/.vimrc:
set tabstop=4
- ~/.vim/ftplugin/python.vim:
set tabstop=2
- ~/.vim/after/plugin/python.vim ファイルはありません
set tabstop?
ショーtabstop=8
verbose set tabstop?
を示していますtabstop=8
。からの最後のセット/usr/share/vim/vim80/ftplugin/python.vim
私の質問:
- ファイル内またはファイル内に
tabstop
明示的に設定しているのに、設定が 8 になっているのはなぜですか4
.vimrc
2
~/.vim/ftplugin/python.vim
- 、、、
~/.vimrc
などの各ファイルはいつロードされますか?~/.vim/ftplugin/python.vim
~/.vim/after/plugin/python.vim
/usr/share/vim/vim80/ftplugin/python.vim
- どのファイルが優先され、他の設定を上書きするにはどこで設定を定義すればよいですか?
- とどう
set
違うのset local
?
誰かがこれらすべての質問に答えてくれたら最高です。これらの概念はすべて相互に関連しているため、特に Vim の初心者および中級者のユーザーに役立つことは間違いありません。