Подсветка синтаксиса в терминале vim, но не в gVIM
В настоящее время я использую 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
5 ответов
Проблема была решена, когда я наконец понял, как получить gvim 7.3. Затем волшебным образом появилась подсветка синтаксиса.
- использование
:let g:colors_name
чтобы увидеть название загруженной цветовой схемы, значение должно быть "sorcerer", если нет, то что-то пошло не так- Тип
:hi Operator
, вы 'ххх' часть должна быть цветной, и вы должны увидетьguifg=<color>
на выходе. - Поместите новую строку в верхней части вашего
.vimrc
содержащие только словоfinish
", это остановит vim обработку вашего.vimrc
, С помощью:colors default
а также:syntax on
должно быть достаточно, чтобы включить подсветку синтаксиса. Если это работает, просто переместитеfinish
линия через ваш.vimrc
пока вы не найдете раздел, который нарушает подсветку синтаксиса. - В Windows gVim использует файл с именем
_vimrc
так что проверьте и это.
- Тип
Когда вы печатаете :version
в гвим ты видишь +syntax
перечислены в вашем списке функций?
Попробуйте сравнить это с вашей обычной версией Vim. Возможно, ваша сборка gvim не включала функцию подсветки синтаксиса.
Основываясь на ответе Тиена, у меня тоже был такой же опыт (set syntax=on
не удается, пункты меню выполняются успешно, но только до перезапуска Vim).
Опция меню, по-видимому, срабатывает :syn=on
и добавив это в _vimrc, можно включить подсветку синтаксиса, где set syntax=on
не. Я оставлю это кому-то с большим опытом, чтобы объяснить разницу между этими двумя.
set syntax=xxx
у меня не работал в gvim 7.3 на Windows XP, хотя это было для vim в cygwin. Чтобы получить подсветку синтаксиса, мне нужно было перейти в Меню> Синтаксис> Показать типы файлов в меню> Выбрать синтаксис. Я думаю, команда меню и команды vim не делают одно и то же с gvim в Windows.