Vim 仅为c文件打开标记列表窗口
我只想专门为C文件打开标记列表窗口 如果我在我的Vim 仅为c文件打开标记列表窗口,vim,tags,taglist,Vim,Tags,Taglist,我只想专门为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
.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
“安装程序”
执行病原体#感染()
“设置编号”显示行号
设置“自动缩进”自动缩进
设置showmatch“突出显示匹配括号
设置tabstop=4“默认tabstop值
设置shiftwidth=4
设置智能选项卡“启用智能选项卡”
设置hlsearch“突出显示搜索的项目
设置ignorecase“搜索时忽略大小写”
设置smartcase“如果搜索模式都是小写,则忽略大小写,否则区分大小写
“set scrolloff=999”在距页边距8行时开始滚动
“错误上没有烦人的声音
设置无错误单元格
设置novisualbell
设置timeoutlen=500
上的文件类型插件
文件类型插件缩进
集成电路
autocmd文件类型python集expandtab
“删除C文件中的尾随空格
autocmd文件类型c,cpp,h,py autocmd BufWritePre%s/\s\+$//e
“在标记列表窗口中取消标记键的映射。
:autocmd BufEnter\uuuu标签\uu列表\uuuuuuu静音!修女图
Groovy的语法
au BufRead,BufNewFile*.atc set filetype=groovy
""""""""""""""""""""""""""""""""""
“标记列表配置”
""""""""""""""""""""""""""""""""""
"
“自动关闭非活动文件的标记树。
“让Tlist\u File\u Fold\u Auto\u Close=1
“在标记列表中仅显示一个文件。
让Tlist\u显示一个文件=1
“标记列表窗口大小”
设Tlist_WinWidth=30
“默认情况下打开标记列表
autocmd文件类型c、cpp、h、py let Tlist_Auto_Open=1
“仅当标记列表窗口打开时,关闭VIM
让Tlist_Exit_OnlyWindow=1
这是一个计时问题。标记列表插件在加载过程中评估列表的自动打开配置。此时,您的~/.vimrc
已被读取,但尚未打开任何文件。您的:autocmd
仅在该文件被:edit
编辑后激活,然后,标记列表的初始值此外,除非您在Vim会话中只编辑一个[type of]文件,否则您的方法将导致所有后续文件打开标记列表
因此,您无法使用标记列表提供的配置功能,但幸运的是,通过:TlistOpen
命令可以很容易地实现插件的自动触发。只需将autocmd修改为:
:autocmd FileType c,cpp,h.py TlistOpen
这是一个计时问题。标记列表插件在加载过程中评估Tlist\u Auto\u Open
配置。此时,您的~/.vimrc
已被读取,但尚未打开任何文件。您的:autocmd
仅在该文件被:edit
编辑后激活,然后,标记列表初始化同样,除非在Vim会话中只编辑一个[type of]文件,否则您的方法将导致所有后续文件打开标记列表
因此,您无法使用标记列表提供的配置功能,但幸运的是,通过:TlistOpen
命令可以很容易地实现插件的自动触发。只需将autocmd修改为:
:autocmd FileType c,cpp,h.py TlistOpen
非常感谢您的回答。这很有效,但还有另一个问题。如果我使用vim buffers打开第二个C文件,那么它会切换标记列表窗口。有没有办法检查它是否已经打开?哦,那么使用:TlistOpen
。我认为:Tlist
只会打开,因为还有:TlistToggle
。这似乎是一种假设是错误的…太好了!一个附带的问题。默认情况下,光标在列表窗口中,是否可以改为在打开的文件中?或者这是另一个问题?;)使用TlistOpen | wincmd p
;这会将光标发送回上一个窗口。在autocmd中,或者通常情况下?键入时它对我有效。谢谢ot作为您的答案。这是可行的,但还有另一个问题。如果我使用vim buffers打开第二个C文件,那么它会切换标记列表窗口。有没有办法检查它是否已经打开?哦,那么改用:TlistOpen
。我认为:Tlist
只会打开,因为还有:TlistToggle
。这个假设似乎是错误的。…太好了!一个附带的问题。默认情况下,光标在列表窗口中,是否可以改为在打开的文件中?或者这是另一个问题?;)使用TlistOpen | wincmd p
;这会将光标发送回上一个窗口。在autocmd中,或者通常情况下?键入时它对我有效。