这适用于我,它正确地进行到选择结束。 我刚刚在前面的答案中加入了osascript部分,并将其放在由Hans-JörgBibiko编写的原始R包中的代码中。 将“范围选择器”设置为“source.r”并将“输出”设置为“丢弃”。 将“输入”设置为“行”,并且它做我需要的:如果没有选择任何内容,则发送行,否则发送选择。
编辑:它适用于选择完美,但不符合线条。当你不选择文本时,它只是重新运行文件顶部的所有内容。
edit2:解决了,我给Hans-JörgBibiko写信,他指示我选择“Input”。
#!/usr/bin/env bash
# input is selection or document
rawText="$(cat | sed 's///g;')"
curDir=''
if [[ ${#TM_DIRECTORY} -gt 0 ]]; then
curDir="$TM_DIRECTORY"
fi
osascript -e 'on run(theCode)' \
-e ' tell application "Terminal"' \
-e ' do script theCode in window 1' \
-e ' end tell' \
-e 'end run' -- "$rawText"
if [ "$TM_LINE_NUMBER" != "" ]; then
"$TM_MATE" -l "$(($TM_LINE_NUMBER+1)):1000000"
elif [[ $TM_SELECTION =~ [1-9][0-9]*:?[0-9]*-([1-9][0-9]*):?[0-9]* ]]; then
# Regular Selection
"$TM_MATE" -l "$((${BASH_REMATCH[1]}+1)):1000000"
elif [[ $TM_SELECTION =~ [1-9][0-9]*:?[0-9]*x([1-9][0-9]*):?[0-9]* ]]; then
# Block (option) selection
"$TM_MATE" -l "$((${BASH_REMATCH[1]}+1)):1000000"
else
"$TM_MATE"
fi
来源
2014-04-04 16:38:29
mic
谢谢,但我真的很喜欢直接使用MacOSX终端 – bhaibeka