我想专门为C文件打开标记列表窗口
如果我在我的.vimrc
中输入以下命令,则会打开所有文件的窗口
let Tlist_Auto_Open=1
但是,当我根据文件类型使用autocmd
时,它无法打开。我需要检查哪种依赖?
autocmd FileType c,cpp,h,py let Tlist_Auto_Open=1
我的.vimrc的一部分如下所示 -
" Install pathogen
execute pathogen#infect()
set number " Display Line Numbers
set autoindent " Auto-indenting
set showmatch " Highlight Matching brackets
set tabstop=4 " Default tabstop value
set shiftwidth=4
set smarttab " Enable smart tab
set hlsearch " highlight searched items
set ignorecase " ignore case when searching
set smartcase " ignore case if search pattern is all lowercase, case-sensitive otherwise
" set scrolloff=999 "Start scrolling when we're 8 lines away from margins
" No annoying sound on errors
set noerrorbells
set novisualbell
set timeoutlen=500
filetype plugin on
filetype plugin indent on
set ic
autocmd filetype python set expandtab
" Remove the trailing white-spaces in the C-file
autocmd FileType c,cpp,h,py autocmd BufWritePre <buffer> %s/\s\+$//e
" Unmap the tab-key in the taglist window.
:autocmd BufEnter __Tag_List__ silent! nunmap <buffer> <Tab>
" Syntax higlight for Groovy
au BufRead,BufNewFile *.atc set filetype=groovy
""""""""""""""""""""""""""""""""""
" Taglist configuration
""""""""""""""""""""""""""""""""""
"
" To automatically close the tags tree for inactive files.
" let Tlist_File_Fold_Auto_Close = 1
" Display only one file in taglist.
let Tlist_Show_One_File = 1
" Taglist window size
let Tlist_WinWidth = 30
" Open Taglist by default
autocmd FileType c,cpp,h,py let Tlist_Auto_Open=1
" Close VIM when only taglist window is open
let Tlist_Exit_OnlyWindow = 1
答案 0 :(得分:1)
这是一个时间问题。 taglist插件在加载期间评估Tlist_Auto_Open
配置。在那个时间点,您的~/.vimrc
已被阅读,但尚未打开任何文件。只有在:autocmd
这样的文件之后,:edit
才会激活,到那时,标记列表初始化结束了。此外,在Vim会话中只编辑一个[类型]文件之前,您的方法会导致所有后续文件打开标记列表!
因此,您无法使用taglist提供的配置功能,但幸运的是,通过:TlistOpen
命令实现插件的自动触发非常容易。只需将您的autocmd修改为:
:autocmd FileType c,cpp,h.py TlistOpen