无法在我的gvim中使用“语法”

时间:2010-05-07 17:07:43

标签: syntax vim

(我是Linux和Vim的新手,我正在努力学习Vim,但我遇到了一些我无法看到的问题)

我正在使用Vim 7.1.138进行无法更新的Linux安装(Ubuntu 8.04)。

我的vim安装位于/usr/share/vim/vim71/。 /家庭/用户/

我的.vimrc文件位于/home/user/.vimrc,如下所示:

fun! MySys()
    return "linux"
endfun

set runtimepath=~/.vim,$VIMRUTNTIME
source ~/.vim/.vimrc

然后,在我的/home/user/.vim/.vimrc

" =============== GENERAL CONFIG ==============
set nocompatible
syntax on

" =============== ENCODING AND FILE TYPES =====
set encoding=utf8
set ffs=unix,dos,mac

" =============== INDENTING ===================
set ai " Automatically set the indent of a new line (local to buffer)
set si " smartindent (local to buffer)

" =============== FONT ========================
" Set font according to system
if MySys() == "mac"
  set gfn=Bitstream\ Vera\ Sans\ Mono:h13
  set shell=/bin/bash
elseif MySys() == "windows"
  set gfn=Bitstream\ Vera\ Sans\ Mono:h10
elseif MySys() == "linux"
  set gfn=Inconsolata\ 14
  set shell=/bin/bash
endif

" =============== COLORS ======================
colorscheme molokai

" ============== PLUGINS ======================
" -------------- NERDTree ---------------------
:noremap ,n :NERDTreeToggle<CR>

" =============== DIRECTORIES =================
set backupdir=~/.backup/vim
set directory=~/.swap/vim

...事实是命令syntax on无效,无论是在vim还是gvim中。奇怪的是:如果我尝试使用gvim工具栏设置语法,它可以工作。然后,在gvim中的正常模式下,使用工具栏激活后,使用代码:syntax off,它可以工作,并且在执行此操作之后尝试执行:syntax on不起作用!!

我在/usr/share/vim/vim71/和主文件夹中都有语法文件(在家里只有一个python语法模块)。我也运行了sudo aptitude install vim,除了vim-gtk之外没什么可下载的,因为我害怕某种不兼容性。

发生了什么事?我错过了什么吗?

3 个答案:

答案 0 :(得分:7)

让我们把它分解成简单的东西。而不是尝试调试多个可能的失败点(sourceruntimepath),看看最简单的情况是否有效。然后,在每件作品中加回来,直到出现问题为止。

首先,请确保将~/.vimrc/~/.vim/.vimrc检入版本控制或保存副本。此外,除非您因某种原因修改了原始python语法模块,否则不需要将它放在~/.vim目录中。

现在,删除两个.vimrc文件的内容,并将以下两行添加到~/.vimrc文件中。

filetype plugin on
syntax on

现在,打开一个新的vim会话,其中包含您尝试语法突出显示的文件。它有用吗?如果正确检测到文件类型,我希望在大多数情况下都能正常工作。

:set filetype?

如果语法突出显示不起作用且filetype正确,那么除了.vimrc文件之外,还有一些错误。您也可以尝试删除〜/ .vim目录以查看是否存在问题。

我不确定你为什么要设置runtimepath,但是当我查看我的~/.vim时,它会显示VIMRUNTIME作为第一个条目(并且有比{{1}更多的目录})默认情况下,该行不应该是必需的。

:set runtimepath?

此外,VIMRUNTIME拼写错误。我希望这是你的问题。如果我使用上面的set runtimepath,我也会失去语法高亮。

希望这有帮助。

答案 1 :(得分:1)

Ubuntu默认安装不会安装所有vim。

sudo apt-get install vim

答案 2 :(得分:0)

尝试在.vimrc中添加filetype plugin on之前的syntax on