t-vim:使用额外引号的 MTXrun

t-vim:使用额外引号的 MTXrun

我正在尝试使用从 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

完整日志

http://paste.pocoo.org/show/322145/

答案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.text-filter.tex和 。2context.vim这里并将它们放在与 tex 文件相同的目录中。

相关内容