2

Org ファイルを処理するために Win7 で emacsclientw を呼び出しています。処理後に Emacs バッファーを閉じて、ファイルが Emacs の外部で編集され、呼び出しが emacsclientw に再送信された場合に、変更されたファイルを処理するようにします。emacsclient --eval の最後でバッファーを強制終了したいと思います。それが得られない場合は、emacs の外でファイルを編集した後にコマンドライン呼び出しをやり直すときに表示される「ファイルが変更されました。リロード (はいまたはいいえ)」プロンプトを取り除くだけで問題ありません。

以下はコマンド ライン呼び出しです。これは、kill-buffer 関数の後でも、画面上の Emacs フレームでバッファーが開いたままになることを除いて、正常に動作します (ただし、「kill リングにプッシュされました」と表示されます)。kill-buffer は、emacs クライアントで私が望むことを行うべきではないことを私は知っています。server-edit と server-kill-buffer も試しましたが、良い結果は得られませんでした.:

c:/users/herbert/emacsclientw -n --eval ^"(let ((org-export-
babel-evaluate nil)) (progn (find-file \^"c:/users/herbert/desktop/org_files
/gtdsample.org\^") (org-export-as-html-and-open nil) (kill-buffer) ))^"

Emacsのバッファを閉じる方法はありますか? または、Emacs の外で gtdsample.org ファイルを編集した後に同じコマンドをやり直そうとすると、プロンプトが表示されないようにする方法はありますか?

4

1 に答える 1

0

考えてみると、(kill-buffer) の代わりに (server-edit) または (server-switch-buffer) を試すことができます。

于 2011-07-05T14:45:54.160 に答える