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
干杯
- 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="7"} /set output/ {print }' "%") &<CR><CR>
augroup END
(我还删除了不必要的冒号并添加了缺失的 <buffer>
,以确保您的映射不会泄漏到具有其他文件类型的缓冲区。)
不需要安装第三方语法脚本。
使用当前形式的 vimrc
,Vim 应该突出显示 *.gpi
,您无需执行任何操作。
我正在使用 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
干杯
- 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="7"} /set output/ {print }' "%") &<CR><CR> augroup END
(我还删除了不必要的冒号并添加了缺失的
<buffer>
,以确保您的映射不会泄漏到具有其他文件类型的缓冲区。)不需要安装第三方语法脚本。
使用当前形式的
vimrc
,Vim 应该突出显示*.gpi
,您无需执行任何操作。