vim上有不同的配色方案

时间:2015-05-27 13:58:20

标签: vim fortran

在我的实验室中,我可以直接在我的工作站上工作,也可以在我们可用的某些服务器上工作。在我的两个帐户中,我都有相同的.bashrc.vimrc个文件。现在看下面的图片,你可以看到我的vim为我的示例Fortran代码显示的两种配色方案有一些细微差别:

  1. CALL声明
  2. PROCEDURE声明
  3. 右侧的红色条显示我的代码的第81列。
  4. 这是我的.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 
    

    Comparing my two color schemes

    在我的工作站上,Vim和Vim语法文件分别是版本7.3和0.93,而在我的服务器7.2和0.88上。

    知道为什么会这样,以及我如何修复它?

1 个答案:

答案 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更新的情况下,你必须自己维护该副本。)