如何为vim应用语法文件?

时间:2014-06-28 06:00:21

标签: c++ vim

我已经阅读过vim手册页和一堆教程,并设法在vim中设置我的C ++环境,但是应用语法文件可能是科幻小说。

我下载了一个' cpp.vim'这是一个语法文件,现在如何应用该文件,以便我的代码开始闪亮?

我尝试将文件放入以下目录:

〜/ .vim / after / syntax /

〜/的.vim /语法

的/ usr /共享/ VIM / vim73 /句法 (但名称不同,所以不能替换旧文件)

没有任何工作,无论如何,如果我在一个疯狂的名字下将文件放入$ VIMRUNTIME /语法,那么我该如何将它应用到vim中呢?

这是我的.vimrc设置:

"
" vim settings
"

set t_Co=256
set nocompatible
set laststatus=2

"set ruler
"set ballooneval
"set balloondelay=400
"set balloonexpr=""


filetype off


"
" vundle settings and plugins
"


set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

"Vundle Plugin manager
Plugin 'gmarik/Vundle.vim' "vundle plugin manager

"Core plugins
Plugin 'ervandew/supertab' "completition with tab
Plugin 'scrooloose/syntastic' "error checking
Plugin 'vim-scripts/OmniCppComplete' "auto complete
"Plugin 'octol/vim-cpp-enhanced-highlight' "syntax highlighting
Plugin 'vim-scripts/Cpp11-Syntax-Support'
Plugin 'bling/vim-airline' "statusline and tabline

"Sipet plugins
Plugin 'MarcWeber/vim-addon-mw-utils' "required by snipmate
Plugin 'tomtom/tlib_vim' "required by snipmate
Plugin 'garbas/vim-snipmate' "insert snipets
Plugin 'honza/vim-snippets' "optional snipets


Plugin 'vim-scripts/a.vim' "Switching between source and header file
Plugin 'chazy/cscope_maps' "Allows searching code
Plugin 'vim-scripts/argtextobj.vim' "Text-object like motion for arguments
Plugin 'wincent/Command-T' "Fast file navigation
Plugin 'vim-scripts/taglist.vim' "Source code browser (requires exuberant-ctags > apt-get install)


Plugin 'ddollar/nerdcommenter' "wrangle your code comments, regardless of filetype
Plugin 'scrooloose/nerdtree' "explore your filesystem and to open files and directories
Plugin 'tpope/vim-unimpaired' "provides a lot of useful mappings
Plugin 'majutsushi/tagbar' "browsing the tags of source code files
Plugin 'chrisbra/NrrwRgn' "focussing on a region and making the rest inaccessible
Plugin 'vim-scripts/ZoomWin' "zoom into a window and out again
Plugin 'terryma/vim-multiple-cursors'
Plugin 'jeetsukumaran/vim-buffergator' "listing,navigating, and selecting buffers for edit
Plugin 'bronson/vim-trailing-whitespace' "causes all trailing whitespace to be highlighted in red

Plugin 'mileszs/ack.vim' "uses ack to search inside the current directory for a pattern
Plugin 'myusuf3/numbers.vim' "intelligently toggling line numbers
Plugin 'Lokaltog/vim-easymotion' "provides a much simpler way to use some motions in vim

call vundle#end()
filetype plugin indent on


"
" ariline options
"

let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'



"
" syntastic settings
"

let g:syntastic_enable_signs = 1
let g:syntastic_cpp_checkers = ['gcc']

let g:syntastic_auto_jump = 1
let g:syntastic_enable_balloons = 1

let g:syntastic_cpp_compiler = 'g++'
let g:syntastic_cpp_compiler_options = '-std=c++11'


let g:syntastic_cpp_check_header = 1
let g:syntastic_cpp_auto_refresh_includes = 1


let g:syntastic_always_populate_loc_list = 1

syntax on
colorscheme slate

...等

其他选项包括插件和插件设置..

问题很简单,我该如何应用语法文件?

2 个答案:

答案 0 :(得分:4)

您需要做的就是确保正确加载文件类型。因此,如果语法文件被调用cpp.vim,请确保set ft?返回cpp。您应该将其放在$HOME/.vim/syntax中。它应该自动加载。假设设置了filetype onsyntax on

确保语法文件未正确加载的唯一方法是使用:scriptnames。如果您的问题与您所描述的不同,请确保该文件未列出。

答案 1 :(得分:2)

好的,我设法让事情奏效了。)

我下载了两个语法文件,其中一个通过突出显示代码来完成工作,而另一个则由于某些未知原因而没有。

我将Vundle作为插件管理器安装的事实没有必要在任何地方放置语法文件,因为该部分自己处理Vundle ...

我所要做的就是删除不起作用的语法文件。并进行多项测试,以查看默认语法高亮显示和自定义文件之间的区别。

要启用语法突出显示,只需在.vimrc文件中的任何位置放置一个选项:

  

上的

语法

  

语法启用

这两者之间的区别在于'on'开关会搜索它在$ VIMRUNTIME目录中找到的第一个cpp文件,而启用开关也会在.vim目录中搜索。 有关here

的更多信息

为了使语法高亮显示更“好”,我还下载了颜色方案,使代码更具可读性。 如果你只是想知道如何在这里应用这段文件是如何: 使用Vundle下载它并将其放在.vimrc文件的末尾:

  colorscheme molokai

其中molokai是使用Vundle下载的colorscheme的名称:D

YES !!!

感谢FDinoff试图提供帮助!你是对的:脚本名实际上帮助我弄明白我的文件没有加载;)