vim上的不同配色方案

vim上的不同配色方案,vim,fortran,Vim,Fortran,在我的实验室里,我可以直接在工作站上工作,也可以在提供给我们的服务器上工作。在我的两个帐户上,我都有相同的.bashrc和.vimrc文件。现在看下图,您可以看到vim为我的示例Fortran代码显示的两种颜色方案有一些细微的差异: 调用语句 过程语句 右边的红色条显示代码的第81列 这是我的.vimrc文件: syntax enable au BufNewF

在我的实验室里,我可以直接在工作站上工作,也可以在提供给我们的服务器上工作。在我的两个帐户上,我都有相同的
.bashrc
.vimrc
文件。现在看下图,您可以看到vim为我的示例Fortran代码显示的两种颜色方案有一些细微的差异:

  • 调用
    语句
  • 过程
    语句
  • 右边的红色条显示代码的第81列
  • 这是我的
    .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 
    
    语法启用
    au BufNewFile,BufRead*.f90 set filetype=fortran
    设置智能缩进
    设置tabstop=4
    设置shiftwidth=4
    设置标尺“在右下角显示行号”
    设置smartcase“仅当包含大写字母时区分大小写搜索”
    设置so=999“光标始终位于屏幕中心”
    nnoremap:nohlsearch
    高链接fortranTab NONE
    如果存在(“+colorcolumn”)
    设置colorcolumn=81
    其他的
    au BUFWANTER*让w:m2=matchadd('ERRORMMSG','\%>80v.\+',-1)
    恩迪夫
    

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

    你知道为什么会发生这种情况,我怎么解决吗

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

    这就解释了。Vim 7.3中引入了
    “colorcolumn
    ”。对于较旧版本,您的
    ~/.vimrc
    使用
    matchadd()
    具有回退功能,但该功能仅突出显示超出宽度的实际事件,而不是一条连续线

    不同的Vim版本附带不同的语法脚本,在
    $VIMRUNTIME/syntax/fortran.Vim
    中。更新Vim将自动获得相应的语法脚本更新版本,因为它是运行时的一部分


    对于自定义语法脚本(您在某处下载的,例如,从),或者要获得最新和最好的Fortran语法(我的Vim版本7.4.716从2015年1月15日起的版本为0.95),您必须下载一个新脚本并将其放入
    ~/.Vim/syntax/
    ,在那里它将覆盖运行时脚本。(但在Vim更新的情况下,您必须自己维护该副本。)

    这些系统是否具有相同的Vim版本?检查
    :版本
    。另外,比较所用语法脚本的版本(
    :edit$VIMRUNTIME/syntax/fortran.vim
    )。@IngoKarkat在我的工作站上,vim和vim语法文件分别是版本7.3和0.93,在我的服务器7.2和0.88上时。@IngoKarkat更新vim对于
    sudo apt get
    来说很简单,但是我如何更新我的语法文件呢?语法文件是vim运行时的一部分;它随Vim一起提供。谢谢,它刚刚修复了它。问题:如何找到变量
    $VIMRUNTIME
    指向的位置?@solalito:Vim内部,just
    :echo$VIMRUNTIME