【问题标题】:Pathogen not recognizing syntax files of bundles病原体无法识别包的语法文件
【发布时间】:2014-09-29 21:50:40
【问题描述】:

我正在尝试弄清楚如何在我的 .vimrc 中突出显示语法或获取颜色方案,以与通过 Homebrew 安装的当前 VIM 实例(版本 7.4.335)一起使用。我使用 Pathogen 下载了很多插件,我可以看出它正在使用其中的一些插件,例如 Syntastic 和 NERDTree,但是当我打开一个 GO 文件时,我没有得到任何语法高亮显示。

我对 VIM 和 Pathogen 还很陌生,但我更愿意继续使用 VIM 而不是 MacVim,我用它来快速编写脚本和原型设计,而启动速度是我想继续使用它而不是等待的主要原因用于加载 GUI。这是我的 .vimrc 中的内容

set runtimepath+=~/.vim_runtime
set mouse=a
set term=xterm

source ~/.vim_runtime/vimrcs/basic.vim
source ~/.vim_runtime/vimrcs/filetypes.vim
source ~/.vim_runtime/vimrcs/plugins_confic.vim
source ~/.vim_runtime/vimrcs/extened.vim

try
    source ~/.vim_runtime/my_configs.vim
catch
endtry

set nocompatible
call pathogen#infect()
syntax on
filetype plugin indent on
colorscheme solarized
let g:soloarized_termcolors=256

"ack
let g:ack_autofold_results = 1

"syntastic
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 1
let g:syntastic_enable_signs = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_error_symbol = "X"
let g:syntastic_style_error_symbol = ">"
let g:syntastic_warning_symbol = "1"
let g:syntastic_sytle_warning_symbol = ">"

我已经查看了这些帖子,但它们似乎并不能完全解决我的问题:

Why does Pathogen "magically" solve Vim syntax highlighting problems?

Vim: Can't get pathogen to load bundles

Vim Solarized Color scheme: Should I have to set `call pathogen#infect()` in my .vimrc to make the syntax highlighting work properly?

Syntax highlighting in terminal vim but not gVIM

提前致谢!

【问题讨论】:

  • 你不应该在set nocompatible 之前采购东西,但我怀疑这就是问题所在。你把这些语法文件放在哪里了?位置很重要
  • 语法文件在包本身中。这是我的 GO 插件的示例。 .vim/bundle/vim-go/syntax 。安装新插件时,我只是 cd .vim/bundle 然后 git clone
  • 我还应该提到我正在使用 iTerm 2 作为我的终端

标签: macos vim configuration pathogen


【解决方案1】:

我不认为你使用 Pathogen 来“下载很多插件”。

不管怎样……

set runtimepath+=~/.vim_runtime

那条线毫无意义:你的插件和配色方案以及诸如此类的东西应该进入 ~/.vim/nowhere 其他地方。

set term=xterm

那行没有用:Vim 足够聪明,可以自己知道它在什么终端类型中执行。

source ~/.vim_runtime/vimrcs/basic.vim
source ~/.vim_runtime/vimrcs/filetypes.vim
source ~/.vim_runtime/vimrcs/plugins_confic.vim
source ~/.vim_runtime/vimrcs/extened.vim

再一次,把你的东西放在~/.vim/ 中,这样拆分你的配置没有任何意义,尤其是如果你是初学者。顺便说一句,第 4 行有一个错字。

另外,~/.vimrc 顶部的 runtimepath… 行的全部意义在于告诉 Vim 使用 :runtime 命令在哪里搜索 vim 脚本,所以即使在这里使用 :source 也是错误的.

try
    source ~/.vim_runtime/my_configs.vim
catch
endtry

你也可以try/catch 其他四个人。同样,只需将所有内容放入您的~/.vimrc

set nocompatible

nocompatible 在 Vim 找到 ~/.vimrc 文件或 ~/.vim/vimrc 文件时设置,因此该行也无用。

call pathogen#infect()

根据 Pathogen 的自述文件,该行应该是 execute pathogen#infect()

colorscheme solarized
let g:soloarized_termcolors=256

let… 行作为该配色方案的一个选项,它应该在 colorscheme… 行之前,并且……它有一个错字。

另外,set term=xterm 强制 Vim 以 8/16 色运行,而你的 solarized 选项告诉 solarized 和 Vim 假设 256 色。下定决心。

基本上,您的~/.vimrc 是一团糟……让我们清理一下,好吗?

execute pathogen#infect()

syntax on
filetype plugin indent on

set mouse=a

" here comes all the stuff from your other `vimrcs`

let g:solarized_termcolors=256
colorscheme solarized

let g:ack_autofold_results = 1

let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 1
let g:syntastic_enable_signs = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_error_symbol = "X"
let g:syntastic_style_error_symbol = ">"
let g:syntastic_warning_symbol = "1"
let g:syntastic_sytle_warning_symbol = ">"

【讨论】:

  • 感谢您的帮助!是的,我使用了错误的术语。我正在使用 Pathogen 来管理 VIM 的插件。抱歉,如果这引起了混乱。是的,我是一个糟糕的打字员:)
【解决方案2】:

所以这是 iTerm 的一个问题,语法高亮通过常规终端可以正常工作。

感谢您的帮助。如果我知道如何让 iTerm 使用 VIM 语法突出显示,我会在这里发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-13
    • 2013-04-02
    • 1970-01-01
    • 2015-02-11
    • 2021-03-23
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多