我正在使用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窗口中)
答案 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