(我是Linux和Vim的新手,我正在努力学习Vim,但我遇到了一些我无法看到的问题.
我正在使用Vim 7.1.138进行Linux安装(Ubuntu 8.04)无法更新.
我的vim安装在/usr/share/vim/vim71/
./ home/user中/
我的.vimrc文件位于/home/user/.vimrc
,如下:
fun! MySys()
return "linux"
endfun
set runtimepath=~/.vim,$VIMRUTNTIME
source ~/.vim/.vimrc
Run Code Online (Sandbox Code Playgroud)
然后,在我的/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
Run Code Online (Sandbox Code Playgroud)
...事实是命令syntax on
无效,无论是在vim还是gvim.奇怪的是:如果我尝试使用gvim工具栏设置语法,它可以工作.然后,在gvim的正常模式下,使用工具栏激活后,使用代码:syntax off
,它可以正常工作,只是在这样做后尝试做:syntax on
不起作用!!
我在两个/usr/share/vim/vim71/
和主文件夹中都有语法文件(在家里只有一个python语法模块).我跑得sudo aptitude install vim
很好,没有什么可以下载,除了vim-gtk
,因为我害怕某种不兼容性.
这是怎么回事?我错过了什么吗?
让我们把它分解成简单的东西吧.而不是尝试调试多个可能的故障点(source
,runtimepath
),看看最简单的情况是否有效.然后,在每件中添加回来,直到出现故障.
首先,确保您的~/.vimrc/
并~/.vim/.vimrc
检查版本控制或保存副本.此外,除非您因某种原因修改了原始python语法模块,否则不需要将它放在您的~/.vim
目录中.
现在,删除这两个.vimrc
文件的内容,并仅将以下两行添加到您的~/.vimrc
文件中.
filetype plugin on
syntax on
Run Code Online (Sandbox Code Playgroud)
现在,打开一个新的vim会话,其中包含您尝试语法突出显示的文件.它有用吗?如果正确检测到文件类型,我希望在大多数情况下都能正常工作.
:set filetype?
Run Code Online (Sandbox Code Playgroud)
如果语法突出显示不起作用并且filetype
正确,那么除了.vimrc
文件之外还有一些错误.您也可以尝试删除〜/ .vim目录以查看是否存在问题.
我不确定你为什么要设置你的,runtimepath
但是当我检查我的时候,它默认显示~/.vim
为第一个条目(而且还有更多的目录VIMRUNTIME
),所以这条线不应该是必需的.
:set runtimepath?
Run Code Online (Sandbox Code Playgroud)
另外,VIMRUNTIME
拼写错误.我希望这是你的问题.如果我使用set runtimepath
上面的语法,我也会失去语法高亮.
希望这可以帮助.