我一直在努力改变我的vim的颜色方案,我终于觉得我做得恰到好处。我正在使用systemverilog(.sv)文件,通常需要一次打开4-5个选项卡。
我在vim中从终端打开的第一个文件,加载colorscheme就好了。如果我从这个文件打开一个新的vim选项卡(:tabnew file_name
),打开另一个sv文件,它只显示一种颜色。我必须打开一个新的终端选项卡,以使colorscheme在另一个文件中工作。
我的.vimrc文件位于主目录中,还有我的.vim文件夹,里面有color文件夹。我尝试了以下命令:
:scriptnames
在两个选项卡中,它们显示位于自定义颜色文件夹中的颜色方案以及默认位置。
1: /etc/vimrc
2: /usr/share/vim/vim72/syntax/syntax.vim
3: /usr/share/vim/vim72/syntax/synload.vim
4: /usr/share/vim/vim72/syntax/syncolor.vim
5: /usr/share/vim/vim72/filetype.vim
6: /usr/share/vim/vim72/ftplugin.vim
7: /home/username/.vimrc
8: /usr/share/vim/vim72/syntax/nosyntax.vim
9: /home/username/.vim/plugin/matchit.vim
10: /home/username/.vim/syntax/verilog_systemverilog.vim
11: /usr/share/vim/vim72/syntax/verilog.vim
12: /usr/share/vim/vim72/indent.vim
13: /home/username/.vim/colors/koehler.vim
14: /home/username/.vim/plugin/matchit2.vim
15: /usr/share/vim/vim72/plugin/filetype.vim
16: /usr/share/vim/vim72/plugin/getscriptPlugin.vim
17: /usr/share/vim/vim72/plugin/gzip.vim
18: /usr/share/vim/vim72/plugin/matchparen.vim
19: /usr/share/vim/vim72/plugin/netrwPlugin.vim
20: /usr/share/vim/vim72/plugin/rrhelper.vim
21: /usr/share/vim/vim72/plugin/spellfile.vim
22: /usr/share/vim/vim72/plugin/tarPlugin.vim
23: /usr/share/vim/vim72/plugin/tohtml.vim
24: /usr/share/vim/vim72/plugin/vimballPlugin.vim
25: /usr/share/vim/vim72/plugin/zipPlugin.vim
26: /usr/share/vim/vim72/scripts.vim
这个问题有什么解决方法吗?
编辑:我已经能够通过将以下内容添加到我的.vimrc文件来解决.sv文件的这个问题:
Au BufRead,BufNewFile *.sv set filetype=verilog
但这显然不是所有文件类型的通用解决方案。
编辑:添加指向vimrc文件的链接:vimrc file
答案 0 :(得分:2)
你的.vimrc
一团糟。
以下几行完全无用:
source ~/.vim/plugin/matchit.vim
source /usr/share/vim/vim72/syntax/syntax.vim
source ~/.vim/syntax/verilog_systemverilog.vim
它们没用,因为所有这些文件都是自动获取的:在第一个启动期间.vimrc
来源之后;在Syntax
事件发生后(由syntax on
触发,已经在.vimrc
的其他地方)在文件被识别为第三个verilog
之后。
这些相同:
" Set up the connection between FileType and Syntax autocommands.
" This makes the syntax automatically set when the file type is detected.
augroup syntax
au! FileType * exe "set syntax=" . expand("<amatch>")
augroup END
因为Vim已经将其作为filetype
机制的一部分而转向&#34; on&#34;您.vimrc
中的三次。
这一个:
" Execute the syntax autocommands for the each buffer.
doautoall filetype BufRead
因为在加载任何缓冲区之前,您的.vimrc
来源。该命令将在您编辑的第一个文件上执行,而不会在当前会话中再次执行。
这一个:
highlight Visual term=reverse cterm=reverse gui=reverse guifg=Grey50
因为在仅在GVim中执行的代码块中设置终端突出显示属性是没有意义的。
让我们不要谈论混合标签和空格,尾随空格和无意义的评论:
" For sure anyting under .vim/ gets executed automaticall. I've checked.
:help new-filetype
告诉您如何添加对自定义文件类型的支持。你应该仔细阅读(我建议方法C
)。
答案 1 :(得分:0)
你看过Amal Khailtash在他的SystemVerilog / OVM语法文件中做了什么:
vim-syntax-highlighting-systemverilog-and-ovm
过去几年我一直在使用他的文件,并且在多个标签页和拆分窗口中突出显示systemverilog文件没有任何问题。
答案 2 :(得分:0)
感谢以下命令@Ady au BufRead,BufNewFile * .sv设置filetype = verilog
我用过 au BufRead,BufNewFile *设置文件类型= verilog 将tabnew中的所有文件设置为verilog格式。顺便说一句,文件有一些颜色,前进时我可以继续为不同的扩展名添加不同的文件类型设置