vim 中的 gnuplot 突出显示

gnuplot highlighting in vim

我正在使用 gnuplot 显示数据,我通常编辑 vim 中的文件。如果可能的话,我希望有某种语法高亮显示。我试图为 gnuplot 安装几个带有 vim 插件的插件,但我似乎无法使其工作。这是我的 .vimrc 文件的内容:

call plug#begin()

Plug 'tpope/vim-sensible'

Plug 'flazz/vim-colorschemes'

Plug 'junegunn/seoul256.vim'

Plug 'junegunn/vim-easy-align'

Plug 'vim-scripts/gnuplot.vim'

call plug#end()

if has("syntax")
  syntax on
endif

let mapleader=","
set cindent
set statusline+=col:\ %c,
set ruler
set nu
set showcmd
set nocompatible
set nosol
set background=dark
set autoread
set wildmenu
set lazyredraw
set magic
set showmatch
set mat=10
set noerrorbells
set novisualbell
set autoindent
set smartindent
set cursorline
set ic
set hls
set lbr
set shiftwidth=4
set expandtab
set tabstop=4
set t_Co=256
set shortmess+=A
set ff=unix
set clipboard=unnamedplus
set splitbelow
set termwinsize=10x0
set mouse=i

set formatoptions+=w
set splitright
set autochdir

set textwidth=180 wrapmargin=0
set colorcolumn=180
" 
nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
""
colorscheme Monokai
"
augroup gnuplot
    autocmd!
    autocmd FileType gp :nnoremap <Leader>c :w<CR>:!gnuplot %<CR>
    autocmd FileType gp :nnoremap <Leader>v :!okular $(awk 'BEGIN {FS="7"} /set output/ {print }' "%") &<CR><CR> 
augroup END
""
let g:livepreview_previewer = 'okular'

""
map <C-m> :set nonu<CR>
map <C-n>   :set nu<CR>

我几乎可以肯定问题出在这个文件上,但我看不到它。

如果我 运行: :set hl 我得到以下错误:

highlight=8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,a:LineNrAbove,b:LineNrBelow,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:F
oldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,z:StatusLineTerm
,Z:StatusLineTermNC
Press ENTER or type command to continue

干杯

  1. Vim 立即将 gnuplot 文件类型分配给 *.gpi 个文件。
  2. gnuplot 的语法突出显示也是内置的。

因此……

  • 您的两个 FiletType 自动命令无法按原样工作。它们应该匹配 gnuplot,而不是 gp:

    augroup gnuplot
        autocmd!
        autocmd FileType gnuplot nnoremap <buffer> <Leader>c :w<CR>:!gnuplot %<CR>
        autocmd FileType gnuplot nnoremap <buffer> <Leader>v :!okular $(awk 'BEGIN {FS="7"} /set output/ {print }' "%") &<CR><CR> 
    augroup END
    

    (我还删除了不必要的冒号并添加了缺失的 <buffer>,以确保您的映射不会泄漏到具有其他文件类型的缓冲区。)

  • 不需要安装第三方语法脚本。

  • 使用当前形式的 vimrc,Vim 应该突出显示 *.gpi,您无需执行任何操作。