【问题标题】:Syntax highlighting in terminal vim but not gVIM终端 vim 中的语法突出显示,但 gVIM 不突出显示
【发布时间】:2011-05-03 12:38:44
【问题描述】:

我目前在终端中使用 VIM,并且有完美的语法高亮显示。但是当我尝试使用 gvim 时,无论我输入什么类型的文件或输入多少次: ":syntax on" 我都没有得到任何语法高亮显示。有什么想法吗?

谢谢。

这是我的 .vimrc 给感兴趣的人:

" Turn on pathogen for all plug-ins installed after 9/13/2010
call pathogen#helptags()
call pathogen#runtime_append_all_bundles()

" My color theme for vim
colors sorcerer

" Disable line wrapping for now
set nowrap

" Enable the mouse even when vi is used in the terminal
set mouse=a

" Since I use linux, I want this
let g:clipbrdDefaultReg = '+'

" This shows what you are typing as a command.  I love this!
set showcmd

" Automatically cd into the directory that the file is in
autocmd BufEnter * execute "chdir ".escape(expand("%:p:h"), ' ')

"Fix Vim's regex...
nnoremap / /\v
vnoremap / /\v

" Gimme some breathing room at the bottom please...
set scrolloff=5

" makes vim usable with screen
set restorescreen

" Disable the arrow keys... helps the learning
map <up> <nop>
map <down> <nop>
map <left> <nop>
map <right> <nop>
imap <up> <nop>
imap <down> <nop>
imap <left> <nop>
imap <right> <nop>


"Kill error bells
set noerrorbells
set visualbell
set t_vb=

" Turn on spell check
" set spell

" Thesaurus!! 
set thesaurus+=/usr/share/myspell/dicts/mthesaur.txt

" Some NERDTree love
let NERDTreeBookmarksFile=expand("$HOME/.vim/NERDTreeBookmarks")

let NERDTreeShowBookmarks=1
let NERDTreeQuitOnOpen=1
let NERDTreeHighlightCursorline=1
let NERDTreeShowFiles=1
let NERDTreeShowHidden=1

" Make swapping windows easier...
map <C-h> <C-w>h
map <C-j> <C-w>j
map <C-k> <C-w>k
map <C-l> <C-w>l

" Allow for buffers to be hidden so that they need not be closed to go to
" another file
set hidden

" Turn on incremental search
set incsearch
set smartcase

" Long history is long
set history=1000
set undolevels=1000

" No need for a vi backup file
set nobackup

" Colors!!
set t_Co=256

" Compatibility
set nocompatible

set formatprg=par

" Syntastic!!
let g:syntastic_enable_signs=1
let g:syntastic_auto_loclist=1
let g:syntastic_quiet_warnings=0

" For soft wrapping text
command! -nargs=* Wrap set wrap linebreak nolist
set showbreak=…

" Sandro spacing preferences here
set number
set expandtab
set autoindent
set smartindent
set softtabstop=4
set shiftwidth=4
set shiftround

" Sandro key mapping here
map <F2> :NERDTreeToggle<CR>

"allow backspacing over everything in insert mode
set backspace=indent,eol,start

set showmode "show current mode down the bottom

"Setting the status line...

set statusline=%f       "tail of the filename

"display a warning if the file format isn't Unix
set statusline+=%#warningmsg#
set statusline+=%{&ff!='unix'?'['.&ff.']':''}
set statusline+=%*

"display a warning if file encoding isn't UTf-8
set statusline+=%#warningmsg#
set statusline+=%{(&fenc!='utf-8'&&&fenc!='')?'['.&fenc.']':''}
set statusline+=%*

set statusline+=%h      "help file flag
set statusline+=%y      "filetype
set statusline+=%r      "read only flag
set statusline+=%m      "modified flag

"Syntastic!!
" set statusline+=%#warningmsg#
" set statusline+=%{SyntasticStatuslineFlag()}
" set statusline+=%*


" Auto completion options
set wildmode=list:longest  "Change tab completion to be like Bash's
set wildignore=*.o,*.obj,*~,*.swp,*.pyc "Files to ignore on auto complete

"display tabs and trailing spaces
set list

" Use the same symbols as TextMate for tabstops and EOLs
set listchars=tab:▸\•,extends:»,precedes:«,trail:•


let g:pydiction_location='~/.vim/after/ftplugin/pydiction/complete-dict'
set sm
set ai
let java_highlight_all=1
let java_highlight_functions="style"
let java_allow_cpp_keywords=1
set tags=~/.tags
set complete=.,w,b,u,t,i

command W w !sudo tee % > /dev/null

" IMPORTANT: win32 users will need to have 'shell slash' set so that latex
" can be called correctly.
"set shell slash

" IMPORTANT: grep will sometimes skip displaying the file name if you
" search in a singe file. This will confuse Latex-Suite. Set your grep
" program to always generate a file-name.
"set grepprg=grep\ -nH\ $*


" OPTIONAL: Starting with Vim 7, the filetype of empty .tex files defaults to
" 'plaintex' instead of 'tex', which results in vim-latex not being loaded.
" The following changes the default filetype back to 'tex':
" let g:tex_flavor='latex'

filetype on        " enables filetype detection
filetype plugin on " enables filetype specific plug-ins
syntax on
filetype indent on " OPTIONAL: This enables automatic indentation as you type.


" VIM 7.3 features here...
if v:version >= 703
    set relativenumber
    set undofile
endif

【问题讨论】:

  • 您的.gvimrc 中有什么内容吗?这些东西应该可以工作,所以你可能有一些奇怪的配置选项。
  • 我实际上没有'.gvimrc';我需要一个吗?
  • 真的很奇怪。也许尝试另一种配色方案?
  • 我一起删除了这个方案。还是纳达。
  • 它说 - 文件类型检测:打开插件:打开缩进:打开

标签: vim text-editor vim-syntax-highlighting


【解决方案1】:
  1. 使用:let g:colors_name查看已加载的配色方案的名称,该值应为“sorcerer”,如果不是,则表示出现严重错误
    • 输入:hi Operator,你的“xxx”部分应该是彩色的,你应该在输出中看到guifg=&lt;color&gt;
    • 在您的.vimrc 顶部添加一个新行,其中只包含单词“finish”,这将停止vim 处理您的.vimrc。使用:colors default:syntax on 应该足以启用语法高亮。如果这可行,那么只需将finish 行向下移动到.vimrc,直到找到破坏语法突出显示的部分。
    • 在 Windows 上,gVim 使用一个名为 _vimrc 的文件,所以也要检查一下。

【讨论】:

  • 我确实将“巫师”作为颜色主题。 'xxx' 是彩色的。 “Operator xxx links to Statement”是我从 ':hi Operator' 命令得到的输出。即使将 ":colors default,:syntax on,finish" 作为我的 .vimrc 中仅有的三行,我仍然没有得到高调。我正在使用 ubuntu。
  • “完成”技术简单有效地尝试了解导致配置问题的原因。 +1!
【解决方案2】:

当你在 gvim 中输入 :version 时,你会看到 +syntax 列在你的功能列表中吗?

尝试将其与您的常规 Vim 版本进行比较。也许你的 gvim 版本没有包含语法高亮功能。

【讨论】:

  • 不,我肯定看到了 +syntax 选项。还有其他想法吗?
  • 这真的很奇怪,我会四处寻找,看看还能找到什么。如果您发布您的 .vimrc 可能会有所帮助(gvim 使用它以及 .gvimrc)
  • 好吧,它现在就在上面。希望你能找到一些东西;)
【解决方案3】:

一旦我终于弄清楚如何获得 gvim 7.3,问题就得到了解决。然后语法高亮神奇地出现了。

【讨论】:

    【解决方案4】:

    基于 Thien 的回复,我也有同样的经历(set syntax=on 失败,菜单选项成功,但直到 Vim 重新启动)。

    菜单选项显然会触发:syn=on,并将其添加到 _vimrc 确实启用了语法高亮,而set syntax=on 没有。我会把它留给有更多经验的人来解释这两者之间的区别。

    【讨论】:

      【解决方案5】:

      set syntax=xxx 在 Windows XP 上的 gvim 7.3 中不适用于我,尽管它在 cygwin 中适用于 vim。要获得语法突出显示,我必须转到 Menu > Syntax > Show filetypes in menu > select syntax。我猜 menu 命令和 vim 命令在 Windows 上对 gvim 的作用不同。

      【讨论】:

        猜你喜欢
        • 2010-11-22
        • 2015-11-26
        • 1970-01-01
        • 1970-01-01
        • 2013-12-22
        • 2011-01-10
        • 1970-01-01
        • 1970-01-01
        • 2011-05-14
        相关资源
        最近更新 更多