我想记录一些用 vimscript 编写的脚本。如何使用 listing 包来实现这一点?我还没有找到 listings 支持的 vimscript 语言。
使用 lstlisting 设置的示例:
" Use Vim settings, rather than Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
非常感谢!
答案1
该listings
软件包不支持开箱即用的 vimscript。您必须编写自己的突出显示规则。这里我介绍一种替代方案,即软件包minted
。它使用外部程序pygmentize
来格式化源代码,因此需要 shell 转义(pygmentize
当然需要安装)。还建议使用替代字体,例如lmodern
带有粗体电传字体的字体。在我看来,结果比 好得多listings
。
\documentclass{article}
\usepackage{lmodern,minted}
\begin{document}
\begin{minted}{vim}
" Use Vim settings, rather than Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
\end{minted}
\end{document}
答案2
我开始为 vim 编写自己的定义。下面是我的第一个方法:
\lstdefinelanguage{vim}
{
% list of keywords
morekeywords={
set, let
map, nmap,
filetype,
on, off,
autocmd,
Plugin,
call,
},
morecomment=[l]{"}, % l is for line comment
morestring=[b]' % defines that strings are enclosed in double quotes
}