问题标签 [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 投票
5 回答
15854 浏览

plugins - 如何在 Vim 中启动后手动加载 ftplugin?

假设我将一个 .txt 文件加载到 Vim 中。然后我想改变,filetype=html但我也想加载一个关联的 ftplugin。我怎样才能做到这一点?

我已经尝试过类似的东西::set filetype plugin onand :set filtype plugin_nameon and also :filetype plugin_nameon etc.,但我似乎无法手动加载 ftplugin。有什么建议么?

我已经尝试过:filetype=html,然后:filetype plugin on和其他组合无济于事。

编辑:我无法用任何答案“完全”解决这个问题(但它可能与我的配置有关)。但是,皮埃尔的回答非常好,所以我给他打了绿色的复选标记。

0 投票
1 回答
18179 浏览

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.vimand交互.vim/after/filetype.vim

  • 添加一个.vim/after/ftplugin/python.vim. 我知道这是在之后加载的,$VIMRUNTIME/ftplugin/python.vim因此它可以从那里覆盖设置。与前面的方法一样,我不确定它如何与filetype.vim文件交互。

所以我至少有四种方法可以做到这一点,更不用说语法文件和特定于文件类型的插件了。在我看来,最好的方法是将我的文件类型特定设置放入其中,after/ftplugin这样它们就不会被覆盖,并且filetypes.vim出于after同样的原因。

但是,在我继续之前,我想问一下是否有人对处理文件类型特定设置的最佳方法有建议。

0 投票
6 回答
2437 浏览

vim - 禁用所有文件类型的自动注释

我打开了filetype plugin我添加的一些 rails vim 插件,但这样做的副作用似乎是现在所有文件类型中都启用了自动注释(例如,如果我用 开始一行#,下一行,或者Enter在插入模式下或O等进入插入模式,也会得到一个#)。

我找到了禁用自动注释的指南formatoptions,并将以下内容添加到我的 .vimrc 中:

但是,我仍然遇到问题——除非我明确地:source .vimrc,(或setlocal ...直接输入),否则它不会生效。我确定是这种情况,因为 vim 的 ftplugins 用他们自己的选项覆盖了我的选项。

然后我找到了第二个指南,其中讨论了在 ftplugin 脚本运行后使用 after ftplugin 脚本进行更改,但是他们的解决方案是为 ~/.vim/after/ftplugin 中的每个文件类型创建符号链接到中央文件,并且这对我来说似乎很笨拙。

有什么方法可以创建一个通用的后 ftplugin 脚本,还是我错误地处理了这个问题?任何帮助,将不胜感激。

0 投票
2 回答
17340 浏览

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?

0 投票
3 回答
986 浏览

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.vimfiletype=unix
  • 正如 AUR 对 slimv 的评论所建议的那样,我已经尝试过使用和不使用let g:slimv_python = 'python2'in 。.vimrc
  • :messages什么都不显示
  • :set ft?表明该文件被识别为 lisp

我没有任何其他插件,所以这可能是一个普通的 vim 问题,我无法判断。接下来我应该尝试什么?

0 投票
1 回答
154 浏览

html - 如何从 VIM 中的其他文件类型加载 ftplugins?

我正在使用 Pathogen,并且正在使用 xmledit 和 sparkup 的 git 克隆作为捆绑包。这两个插件自动为 HTML 启用,但我想为其他类似 HTML 的文件类型启用它们,例如 Handlebars。

当我加载 Handlebars 缓冲区时,如何自动加载 HTML 的 ftplugins?我正在专门寻找一种不涉及对 xmledit 或 sparkup git repos 进行任何更改的解决方案。

0 投票
1 回答
2833 浏览

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 中也没有类似的东西。这是否意味着我没有任何文件类型插件?

如果我不这样做,我在哪里可以得到通常的设置?

0 投票
1 回答
110 浏览

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.

0 投票
4 回答
430 浏览

python - 如何覆盖我的 .vimrc 中的一些重新映射以正确编辑 Python

我编写 CSS 和 Python 代码,对于 CSS,我节省了以下时间

这很好,直到我开始用 Python 编码。每次我点击时,:我都会得到一个不需要的东西; ,我应该提一下,为了让 Python 中的编辑变得愉快,我添加了适当的缩进

python.vim包含以下内容

我会输入什么代码python.vim来覆盖inoremap : :;<Left>我的.vimrc,这样当我按下:所有我得到的是一个单一的:

0 投票
3 回答
2038 浏览

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 中,没有更多内容。