我正在尝试使用从 Mac 的 TexLive 2010 基本包安装的 t-vim 模块来处理上下文。
我遇到的问题是 MTXrun 在调用 vim 时尝试引用太多,例如:
vim "-u NONE -e -C -n -c \\\"set tabstop=8\\\" -c \\\"syntax on\\\" -c \\\"set syntax=ruby\\\" -c \\\"let contextstartline=1\\\" -c \\\"let contextstopline=0\\\" -c \\\"source /usr/local/texlive/2010basic/texmf-dist/tex/context/third/vim/2context.vim\\\" -c \\\"wqa\\\" \\\"a-vimsyntax.tmp\\\" "
我用来编译 tex 文件的命令是“context”,没有任何参数。
提前致谢。
使用的代码
\usemodule[vim]
\starttext
\definevimtyping [RUBY] [syntax=ruby]
\startRUBY
#! /usr/bin/ruby
# This is my first ruby program
puts "Hello World"
\stopRUBY
\stoptext
完整日志
答案1
成功解决了!
t-vim.tex 文件位于,
/usr/local/texlive/2010basic/texmf-dist/tex/context/third/vim
使用以下系统命令,
{mtxrun --verbose --noquote bin:vim
"-u NONE % No need to read unnessary configurations
-e % run in ex mode
-C % Set compatibile
-n % No swap
% -V10log % For debugging only, will go away later.
-c \shellescapedquote set tabstop=\@@vstab \shellescapedquote\space
-c \shellescapedquote syntax on\shellescapedquote\space
-c \shellescapedquote set syntax=\@@vssyntax\shellescapedquote\space
-c \shellescapedquote let contextstartline=\@@vsstart\shellescapedquote\space
-c \shellescapedquote let contextstopline=\@@vsstop\shellescapedquote \space
-c \shellescapedquote source kpse:2context.vim\shellescapedquote\space
-c \shellescapedquote wqa\shellescapedquote\space
\shellescapedquote#1\shellescapedquote\space "}
如您所见,它使用的是 --noquote 而不是 --noquotes。只需添加“s”即可解决问题。
答案2
您能检查一下 的最新开发版本是否有效吗t-vim
?要进行测试,请从复制t-vim.tex
、t-filter.tex
和 。2context.vim
这里并将它们放在与 tex 文件相同的目录中。