问题标签 [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.
plugins - 如何在 Vim 中启动后手动加载 ftplugin?
假设我将一个 .txt 文件加载到 Vim 中。然后我想改变,filetype=html
但我也想加载一个关联的 ftplugin。我怎样才能做到这一点?
我已经尝试过类似的东西::set filetype plugin on
and :set filtype plugin_name
on and also :filetype plugin_name
on etc.,但我似乎无法手动加载 ftplugin。有什么建议么?
我已经尝试过:filetype=html
,然后:filetype plugin on
和其他组合无济于事。
编辑:我无法用任何答案“完全”解决这个问题(但它可能与我的配置有关)。但是,皮埃尔的回答非常好,所以我给他打了绿色的复选标记。
file-type - 在 .vim 和 .vimrc 中组织文件类型设置的最佳方式?
我正在浏览我的 vim 点文件来整理它们。我注意到随着时间的推移,我以各种不一致的方式添加了各种文件类型特定的设置。假设我正在为 Python 定制:
au BufRead,BufNewFile *.py (do something)
. 我不喜欢这样,因为某些 Python 文件可能没有 .py 终止符。au FileType python (do something)
. 这似乎是一个更好的选择,因为它不依赖于具有 .py 终止的文件。缺点是 Vim 不知道某些文件类型。我可以让 Vim 识别其他文件类型,但我也有各种不一致的方法:一个.vim/filetype.vim
文件、另一个in.vim/after/filetype.vim
和.set filetype
.vimrc
添加具有
.vim/ftplugin/python.vim
文件类型特定设置的文件。我知道$VIMRUNTIME/ftplugin/python.vim
可以覆盖我在这里所做的任何设置。一个问题是我不确定这如何与.vim/filetype.vim
and交互.vim/after/filetype.vim
。添加一个
.vim/after/ftplugin/python.vim
. 我知道这是在之后加载的,$VIMRUNTIME/ftplugin/python.vim
因此它可以从那里覆盖设置。与前面的方法一样,我不确定它如何与filetype.vim
文件交互。
所以我至少有四种方法可以做到这一点,更不用说语法文件和特定于文件类型的插件了。在我看来,最好的方法是将我的文件类型特定设置放入其中,after/ftplugin
这样它们就不会被覆盖,并且filetypes.vim
出于after
同样的原因。
但是,在我继续之前,我想问一下是否有人对处理文件类型特定设置的最佳方法有建议。
vim - 禁用所有文件类型的自动注释
我打开了filetype plugin
我添加的一些 rails vim 插件,但这样做的副作用似乎是现在所有文件类型中都启用了自动注释(例如,如果我用 开始一行#
,下一行,或者Enter在插入模式下或O等进入插入模式,也会得到一个#
)。
我找到了禁用自动注释的指南formatoptions
,并将以下内容添加到我的 .vimrc 中:
但是,我仍然遇到问题——除非我明确地:source .vimrc
,(或setlocal ...
直接输入),否则它不会生效。我确定是这种情况,因为 vim 的 ftplugins 用他们自己的选项覆盖了我的选项。
然后我找到了第二个指南,其中讨论了在 ftplugin 脚本运行后使用 after ftplugin 脚本进行更改,但是他们的解决方案是为 ~/.vim/after/ftplugin 中的每个文件类型创建符号链接到中央文件,并且这对我来说似乎很笨拙。
有什么方法可以创建一个通用的后 ftplugin 脚本,还是我错误地处理了这个问题?任何帮助,将不胜感激。
html - 如何在 Vim 中编辑 HTML?
我是 Vim 的新手,我正在努力适应它。我刚刚创建了一个 .vimrc 文件并让 Vim 显示行号并进行增量搜索。我还启用了语法高亮。现在我想让事情变得更容易编写 HTML。我在 /usr/share/vim 中搜索了 html.vim 并找到了这个:
现在,我必须做什么才能启用 HTML 自动缩进?将这些文件复制到 ~/.vim?符号链接他们?还是 Vim 会自动从 /usr/share/vim/ 加载它们?(它已经做了 HTML 语法高亮,所以我认为这是可能的 - 但它不做 HTML 自动缩进)我set autoindent
在 .vimrc 中听说可以做到这一点,但是 .c 文件有什么用呢?我认为他们需要set cindent
,但 cindent 是否适用于 HTML?
linux - slimv 没有加载 vim 中的 *.lisp 文件
我安装了 slimv.vim(首先通过 Archlinux 上的 yaourt,然后通过 vimana)并且通过这两种方法,当我打开一个 lisp 文件时,slimv.vim 不会加载。我已经搜索了谷歌结果以获得调试帮助,这是我到目前为止检查的内容:
:scriptnames
不显示slimv.vim
,所以它根本没有被加载:filetype
显示所有设置为 ON 的选项:set rtp?
显示~/.vim
为第一个条目- vim 是用 python 编译的,显示
+python
slimv.vim
和相关文件都在~/.vim/ftplugin/
:echo $HOME
显示正确的主目录slimv.vim
是filetype=unix
- 正如 AUR 对 slimv 的评论所建议的那样,我已经尝试过使用和不使用
let g:slimv_python = 'python2'
in 。.vimrc
:messages
什么都不显示:set ft?
表明该文件被识别为 lisp
我没有任何其他插件,所以这可能是一个普通的 vim 问题,我无法判断。接下来我应该尝试什么?
html - 如何从 VIM 中的其他文件类型加载 ftplugins?
我正在使用 Pathogen,并且正在使用 xmledit 和 sparkup 的 git 克隆作为捆绑包。这两个插件自动为 HTML 启用,但我想为其他类似 HTML 的文件类型启用它们,例如 Handlebars。
当我加载 Handlebars 缓冲区时,如何自动加载 HTML 的 ftplugins?我正在专门寻找一种不涉及对 xmledit 或 sparkup git repos 进行任何更改的解决方案。
vim - Ubuntu 12.10 上的 Vim 7.3 在任何地方都没有“ftplugin”目录
Ubuntu 12.10 上的 Vim 7.3
我最近从 Ubuntu 软件中心安装了 vim。到目前为止,我已经安装了以下 vim 插件:NERDTree、rails 和 ack。
我正在学习关于 python 的课程和关于 Ruby on Rails 的另一门课程。我很惊讶 vim 不能识别缩进的语言。检查这个论坛上的各种问题和答案,以及检查 vim 帮助,我看到 $VIMRUNTIME 目录中应该有一个名为 'ftplugin' 的目录。我的 $VIMRUNTIME 与 $HOME 相同,即 ~/,但我的主目录中没有 'ftplugin'。~/.vim 中也没有类似的东西。这是否意味着我没有任何文件类型插件?
如果我不这样做,我在哪里可以得到通常的设置?
vim - 如何避免 vim 中的累积文件类型命令?
假设我在 vim 中加载了一个 python 文件。快速检查:scriptnames
显示我的~/.vim/ftplugin/python/python.vim
文件按预期加载。此文件中的命令之一突出显示超过第 80 列的所有字符。现在假设我在另一个缓冲区中打开了一个 C++ 文件(因此运行~/.vim/ftplugin/cpp/cpp.vim
)。尽管执行了新命令,但python.vim
仍然适用其中的设置;因此字符在我的 C++ 文件的第 80 列之后突出显示。
反正有没有像这样使文件类型命令不累积?我filetype plugin indent on
在我的.vimrc
.
python - 如何覆盖我的 .vimrc 中的一些重新映射以正确编辑 Python
我编写 CSS 和 Python 代码,对于 CSS,我节省了以下时间
这很好,直到我开始用 Python 编码。每次我点击时,:
我都会得到一个不需要的东西;
,我应该提一下,为了让 Python 中的编辑变得愉快,我添加了适当的缩进
python.vim
包含以下内容
我会输入什么代码python.vim
来覆盖inoremap : :;<Left>
我的.vimrc
,这样当我按下:
所有我得到的是一个单一的:
?
vim - 病原体忽略 ftplugin 脚本
我正在尝试使用Pathogen
来管理 Vim 插件。我有几个我用.vim/ftplugins
.
我安装了 Pathogen,但现在 ftplugins 中的脚本都没有运行。
我尝试.vim/bundle
在脚本中添加一个目录,但它不起作用(它是.vim/bundle/local/ftplugin/python.vim
)
知道如何让 Pathogen 加载 ftplugin 目录中的脚本吗?
我的第一行.vimrc
:
仅适用于注释掉的那一行。
我gvim
从 Bash 提示符运行,文件名作为第一个参数,如下所示:
我希望看到该文件具有我在 ~/.vim/ftplugin/python.vim 中定义的 Python 文件的预定义颜色方案以及该脚本中定义的所有其他设置。
~/.vim/bundle 目录是空的。
病原体在 ~/.vim/autoload 中,没有更多内容。