如何解决在vim中突出显示gnuplot
我使用 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="\047"} /set output/ {print $2}' "%") &<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
干杯
解决方法
- Vim 开箱即用地将
gnuplot
文件类型分配给*.gpi
文件。 - 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="\047"} /set output/ {print $2}' "%") &<CR><CR> augroup END
(我还删除了不必要的冒号并添加了缺失的
<buffer>
,以确保您的映射不会泄漏到其他文件类型的缓冲区。) -
无需安装第三方语法脚本。
-
使用当前形式的
vimrc
,Vim 应该突出显示*.gpi
,而您无需执行任何操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。