问题标签 [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.

0 投票
1 回答
222 浏览

vim - 如何添加插件的“ftplugin”

我经常看到 Vim 插件有自己的“ftplugin”目录。
(例如:https ://github.com/rust-lang/rust.vim )

如何加载这些?

0 投票
1 回答
315 浏览

c++ - vundle 无法与 ftplugin 一起正常工作

我开始使用 ftplugin。这基本上是有效的,除了捆绑。如果我使用没有特定文件类型的文件启动 gvim,我可以使用我的所有插件(:VundleInstall 列出了 .vimrc 中指定的所有插件)

但是当我打开一个 .cpp 类型的文件并因此使用.vim/after/ftplugin/cpp.vim时,唯一活动的(由 :VundleInstall 显示)插件是在 cpp.vim 文件中指定的插件。

我的错误是什么?

这是我的vimrc:

这是我的 cpp.vim 文件:

我通过将其替换为点(...)缩短了映射和一长串插件

0 投票
2 回答
484 浏览

vim - Vim - ftplugin 设置更改未更新现有文件

对于我已经在 Vim 中打开过一次的文件,似乎有一些奇怪的类似缓存的行为。我打开了一个文件foo.txt,然后我更改了 中的一些设置~/.vim/after/ftplugin/text.vim,但这些新设置没有出现在foo.txt. 我可以退出 vim 并重新打开foo.txt,或重新加载:e,甚至:so ~/.vim/after/ftplugin/text.vim,但这些似乎都不会影响foo.txt的设置。如果 I mv foo.txt bar.txt,设置显示bar.txt没有问题。

编辑

看来我可以foo.txt按照以下顺序强制重新加载设置:

  1. :so ~/.vimrc
  2. :so ~/.vim/after/ftplugin/text.vim

问题:

  1. 为什么这是必要的/为什么没有选择其他设置?
  2. 为什么采购~/.vimrc不够?它应用了直接在 中指定的设置~/.vimrc,但不应该在该行加载 ftpluginsfiletype plugin indent on吗?为什么text.vim需要事后采购?
0 投票
3 回答
1326 浏览

vim - 插件是由 vimrc 还是之后加载的?

我对 Vim 加载插件文件的顺序感到困惑,并且似乎在网上找到了混合的答案。 一些答案似乎表明 vimrc 是在插件之前加载的,而一些答案则表明它们是在vimrc 的采购过程filetype plugin indent on中加载的。有人可以澄清一下加载后/目录中的vimrc,插件和插件的顺序,导致每个加载的原因,以及在vim会话期间何时可以重新加载每个(例如,再次采购vimrc时会发生什么,当设置文件类型等)?

0 投票
1 回答
114 浏览

vim - 为什么我的 ftplugin 中的格式适用于每种格式的所有文件?

.cheat为我的备忘单创建了一个自定义文件格式 , ,并且仅在该格式中,我突出显示交替行,以便轻松查看哪个击键组合触发每个命令。为什么我的 ftplugin 中的格式适用于每种格式的所有文件?

关键行来自~/.vim/vimrc

vimrc以下全文供参考。)

完整~/.vim/ftdetect/cheat.vim

完整~/.vim/vimrc

0 投票
1 回答
157 浏览

vim - 使用当前文件类型的 ftplugin 文件打开缓冲区?

经过一些谷歌搜索后,我没有找到任何答案或问题,但希望其他人也能看到它的用途。

我认为iabbrevs当您在工作时提出新的文件类型时会非常好。然后,您可以快速将其添加到目录中的filetype.vim-file 中,ftplugin而无需开始查看文件类型并花时间提取正确的 ftplugin 文件。

我还不太擅长定制 vim,但如果有人能给出一些建议,那就太好了。

0 投票
0 回答
80 浏览

vim - 进入插入模式时,Vim 文件类型插件执行了两次?

我正在编辑一个文件filetype=help并想在进入插入模式时做一些事情。所以我放了一个新的 ftplugin ~/.vim/ftplugin/help.vim

但是当我第一次进入插入模式时它不起作用。我还发现它会在第~/.vim/ftplugin/help.vim一次进入插入模式时执行插件代码,它会显示execute help ftplugin两次。

可能只出现在某些vim版本中,而我的系统环境是:

  • vim:VIM - Vi IMproved 7.4(2013 年 8 月 10 日),包含补丁:1-207、209-326。
  • 系统:openSuse 42.3
0 投票
1 回答
242 浏览

vim - ftplugin 默认配置

我发现了几个与我的问题相近的主题,但并不能完全解决我的问题。我已经阅读并尝试研究 .vim/ftplugin/ 和 .vim/after/ftplugin/ 处理几种文件类型和附加更改配置的方法。我还尝试用 ../ftplugin 覆盖 ~/.vimrc 配置文件,但无济于事。

问题:如果 .vim/ftplugin/ 目录中不存在设置默认 .vimrc 的最佳解决方案是什么?如果加载的文件类型不是我在 ftplugin 目录中有文件类型 .vim 配置的文件类型,我有一个标准的 vim 配置,我想应用它。

谢谢你。

0 投票
1 回答
62 浏览

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

0 投票
2 回答
290 浏览

vim - 在 .vimrc、ftplugin、after/ftplugin 等中设置值后,Vim 最终会应用哪种配置?

我正在编辑一个 python 文件。我当前对 tabstop 的设置如下(只是做实验):

  • ~/.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

我的问题:

  • 为什么设置为 8 ,tabstop即使我已明确将其设置为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 初学者和中级用户,因为所有这些概念都是相互关联的