我一直在努力在我的 aquamacs 上完成一项简单的任务。
我有一个通过 ssh 在远程服务器上运行的 R 会话。
我的 Aquamacs 在我的机器上本地运行。
我想要的是能够将当前行或当前选择发送到 iterm2 上的活动 R 会话。这可以通过带有插件 sendText 的命令“Cmd-Enter”在 sublime text 2 上轻松完成。
我们怎样才能完成这个简单的任务?
最好的,
我一直在努力在我的 aquamacs 上完成一项简单的任务。
我有一个通过 ssh 在远程服务器上运行的 R 会话。
我的 Aquamacs 在我的机器上本地运行。
我想要的是能够将当前行或当前选择发送到 iterm2 上的活动 R 会话。这可以通过带有插件 sendText 的命令“Cmd-Enter”在 sublime text 2 上轻松完成。
我们怎样才能完成这个简单的任务?
最好的,
我遇到了同样的问题,并找到了以下解决方案。我修改了(非常轻微地)这个要点,并将它作为一个包添加到 Aquamacs。
以下是基本步骤:
将上面的 gist 复制到一个新文件中,然后将函数更改iterm-send-string
为以下内容:
(defun iterm-send-string (str)
"Send STR to a running iTerm instance."
(let* ((str (iterm-maybe-remove-empty-lines str))
(str (iterm-handle-newline str))
(str (iterm-escape-string str)))
(shell-command (concat "osascript "
"-e 'tell app \"iTerm2\"' "
"-e 'tell current window' "
"-e 'tell current session' "
"-e 'write text \"" str "\"' "
"-e 'end tell' "
"-e 'end tell' "
"-e 'end tell' "))))
要使其成为一个包,您可以将以下内容添加到文件顶部
;;; iterm.el --- sends selections to iTerm.app -*- lexical-binding: t; -*-
;; modified from: https://gist.github.com/johnmastro/88cc318f4ce33b626c9d
;; Author: David Little <david.frank.little@gmail.com>
;; Keywords: lisp
;; Version: 0.0.1
;;; Commentary:
;; Works on Mac OS X: sends a selction to iTerm
;; To match SublimeText's key binding:
;; (global-set-key (kbd "<C-return>") 'iterm-send-text)
;;; Code:
然后你只需要打电话M-x package-install-file
。一旦您将iterm-send-text
功能绑定到快捷方式(例如C-return
在上面的评论中),您应该开始做生意了!