2

私は Mac で TextMate を実行しています。これにはtxmtプロトコルがあり、txmt://open/?url=file:///Users/smcho/smcho/bin/rst2html. TextMate を使って rst2html を編集できます。

しかし、Org-mode as[txmt://open/?url=file:///Users/smcho/smcho/bin/rst2html]でこのプロトコルを使用しようとすると、TextMate を開く代わりに rst2html バイナリが実行されます。

私は試した

(setq org-link-abbrev-alist
 '(
   ("edit" . "txmt://open/?url=file://%s")
))

を使用します[edit:/Users/smcho/smcho/bin/rst2html]が、同じ結果が得られます。

Org モードで特定のプロトコル (私の場合は txmt) を使用するにはどうすればよいですか?

追加した

プロトコルを使用していませんが、このコマンドでいくつかのファイルを開いて編集できます。

("edit" . "shell:/usr/local/bin/mate %s")
4

2 に答える 2

2

org-mode は、このページで指定されたリンクのみを処理できると思います(さらに、contrib パッケージのおかげで、git リポジトリへのリンクなど、他のいくつかのリンク タイプも処理できる可能性があります)。私は TextMate/Apple ユーザーではありませんが、問題の txmt:// プロトコルは、インストールされているブラウザー用に TextMate がセットアップするハンドラーにすぎないように思えます。これが組織で機能するとは期待できません。

本当の問題は、特定のファイルが TextMate で開かれるようにリンクを設定できるかどうかです。最も簡単な方法は、TextMate でファイルを開くシェル コマンドを発行することです。org-link-abbrev-alist を使用すると、次のようなことができます("edit" . "shell:/path/to/textmate_binary %s &")(setq org-confirm-shell-link-function nil)また、確認プロンプトを抑制するために使用することもできます。

一般に、ここで説明されているように、カスタム リンク タイプをいつでも作成できます。これには、elisp でのハンドラー関数の記述が含まれます。この場合、これは、eg を使用して TextMate を開始するための呼び出しになりますstart-process。これはよりクリーンなソリューションですが、おそらく余分な努力をする価値はありません。org-link-abbrev-alist組織リンク ハンドラのカスタマイズでは、通常、 を介してショートカットを設定するか、 を介して拡張機能に基づくハンドラを設定するだけで十分org-file-appsです。

于 2011-02-18T21:02:23.240 に答える