代码之家  ›  专栏  ›  技术社区  ›  Sandro

在终端vim而不是gVIM中突出显示语法

  •  4
  • Sandro  · 技术社区  · 14 年前

    我目前正在终端中使用VIM,并且有完美的语法高亮显示。但当我尝试使用gvm时,不管我输入了什么类型的文件或多少次:“: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 回复  |  直到 12 年前
        1
  •  4
  •   too much php    14 年前
    1. 使用 :let g:colors_name 要查看已加载的配色方案的名称,该值应为“巫师”,如果不是,则说明出现了严重错误
      • :hi Operator ,你的“xxx”部分应该是彩色的,你应该看到 guifg=<color> 在输出中。
      • .vimrc 只包含一个词“ finish “,这将停止vim处理 . 使用 :colors default :syntax on 应该足以打开语法突出显示。如果这有效的话就把 完成 穿过你的 .vimrc公司
      • 在windows上,gvm使用一个名为 _vimrc
        2
  •  2
  •   GWW    14 年前

    当你打字的时候 :version 你看到了吗 +syntax 在你的功能列表中?

    尝试将其与常规Vim版本进行比较。可能您的gvim构建没有包含语法突出显示功能。

        3
  •  2
  •   Sandro    14 年前

        4
  •  2
  •   Chris    13 年前

    基于蒂恩的反应,我也有同样的经历( set syntax=on 失败,菜单选项成功,但仅在Vim重新启动之前)。

    菜单选项显然触发了 :syn=on ,并将其添加到vimrc中确实可以在 没有。我会让更有经验的人来解释这两者的区别。

        5
  •  0
  •   Thien    13 年前

    set syntax=xxx 在Windows XP的gvim 7.3中对我不起作用,尽管它在cygwin中对vim起作用。为了获得语法突出显示,我必须转到 Menu>语法>在Menu中显示文件类型>选择语法