在R中运行代码时将Vim输出更改为“ $”

时间:2018-10-10 19:24:37

标签: vim

我正在使用GNU Screen从Vim运行R代码。当我尝试运行包含美元符号字符$的代码时,它会以\$的形式从Vim发送到R。

是否可以在.vimrc文件中进行更改,以便将内联$字符作为$而不是\$发送到R窗口?

R和Vim通过.vimrc文件中的以下映射连接:

map <C-L> "kyy:echo system("screen -S $STY -p R -X stuff ".escape(shellescape(@k),"$"))<CR>j

vmap <C-L> "xy:echo system("screen -S $STY -p R -X stuff ".escape(shellescape(@x."\n"),"$"))<CR>j

(我使用Cntr-L将当前行或突出显示的代码块发送到名为“ R”的R窗口中)

1 个答案:

答案 0 :(得分:2)

您通过调用$来明确转义escape(shellescape(@k),"$")字符。 shellescape(@k)不会转义$个字符,因此只需删除对escape()的调用即可:

map <C-L> "kyy:echo system("screen -S $STY -p R -X stuff ".shellescape(@k))<CR>j

vmap <C-L> "xy:echo system("screen -S $STY -p R -X stuff ".shellescape(@x."\n"))<CR>j