在我的实验室中,我可以直接在我的工作站上工作,也可以在我们可用的某些服务器上工作。在我的两个帐户中,我都有相同的.bashrc
和.vimrc
个文件。现在看下面的图片,你可以看到我的vim为我的示例Fortran代码显示的两种配色方案有一些细微差别:
CALL
声明PROCEDURE
声明这是我的.vimrc
文件:
syntax enable
au BufNewFile,BufRead *.f90 set filetype=fortran
set smartindent
set tabstop=4
set shiftwidth=4
set ruler "Show line number at bottom right corner"
set smartcase "CaseSensitive search only if contains uppercase letters"
set so=999 "Have cursors always at center of the screen"
nnoremap <C-L> :nohlsearch<CR><C-L>
hi link fortranTab NONE
if exists('+colorcolumn')
set colorcolumn=81
else
au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)
endif
在我的工作站上,Vim和Vim语法文件分别是版本7.3和0.93,而在我的服务器7.2和0.88上。
知道为什么会这样,以及我如何修复它?
答案 0 :(得分:3)
在我的工作站上,Vim和Vim语法文件分别是版本7.3和0.93,而在我的服务器7.2和0.88上。
这解释了它。 'colorcolumn
'在Vim 7.3中引入。对于旧版本,~/.vimrc
使用matchadd()
进行后备,但该版本仅突出显示超出宽度的实际出现次数,而不是连续行。
不同的Vim版本在$VIMRUNTIME/syntax/fortran.vim
中附带了不同的语法脚本。更新Vim会自动为您提供相应较新版本的语法脚本,因为它是运行时的一部分。
对于自定义语法脚本(您已经在某处下载,例如从vim.org),或者获取最新和最好的Fortran语法(我的Vim版本7.4.716从2015年1月15日开始有0.95版本) ),您必须下载一个新的并将其放入~/.vim/syntax/
,它将覆盖运行时的一个。 (但是在Vim更新的情况下,你必须自己维护该副本。)