怎样才能正确地重新加载ftplugin .vimrc?

时间:2014-02-20 22:00:00

标签: vim vim-plugin

如果我打开ac文件而我的缓冲区使用 “c.vim” ftplugin,则打开/编辑/获取 .vimrc ,我失去了 “c.vim” ftplugin的功能。

什么是自动重新加载ftplugin的最佳方式?

以下是一个例子:

在获取 .vimrc:

之前,

c文件的缓冲状态

// This line has an existing comment.
// I used 'o' while on the above line to continue that comment.
// Awesome, after pressing return I am still commenting.

我的 .vimrc:

后,

c文件的缓冲状态

// This line has an existing comment.
I used 'o' while on the above line to try and continue that comment.
After pressing return it is obvious the ftplugin for this filetype is not active.

这是我的 .vimrc ,以防它以某种方式导致问题:

set nocompatible
set backspace=indent,eol,start
filetype plugin indent on
syntax on
set hls
nnoremap <leader>ev :split $MYVIMRC<cr>
nnoremap <leader>sv :source $MYVIMRC<cr>

2 个答案:

答案 0 :(得分:1)

我在给出第一个答案时误读了你的问题,或者你的编辑大大改变了这个问题。

简答:删除该行

:set nocompatible

来自你的vimrc文件。

以下是:help 'compatible'的一些相关行:

This is a special kind of option, because when it's set or reset,
other options are also changed as a side effect.  ...
When a |vimrc| or |gvimrc| file is found while Vim is starting up,
this option is switched off, and all options that have not been
modified will be set to the Vim defaults.  ...

这意味着vimrc文件开头的:set nocompatible是多余的。此外,关于“所有尚未设置的选项”的位仅适用于查找vimrc文件的自动效果,而不适用于设置或重置选项时。

正如我在之前的回答中所说,'formatoptions'选项是困扰你的选项;这是受'compatible'选项影响的众多选项之一。

答案 1 :(得分:0)

你必须做两件事:

  1. 找到重要的选项。
  2. 覆盖ftplugin。
  3. 我最近就超级用户的#1提出了建议:https://superuser.com/questions/719329/automatic-indentation-with-macvim/719411#719411 在您的情况下,您要更改的选项为'formatoptions'(简称'fo')。

    对于#2,请参阅:help ftplugin-overrule。我建议使用那里描述的第三个选项。