Bentuk singkat: Saya ingin menjalankan versi Mac OSX dari Emacs yang ditemukan di http://emacsformacosx.com/ sebagai daemon, dengan klien grafis dan teks yang menghubungkannya sesuai kebutuhan.
Secara detail, inilah alur kerja yang saya inginkan:
Saat masuk, jalankan
/Applications/Emacs.app/Contents/MacOS/Emacs --daemon
untuk memulai emacs sebagai daemon. Saya sudah tahu bagaimana melakukan ini .Ketika menjalankan emacs dari termnal lokal, saya ingin salah satu dari ini:
- Jika saya menjalankan
emacs
dari prompt perintah lokal, buka bingkai baru dengan file yang dipilih. - Jika # 1 tidak memungkinkan, setidaknya jika saya menjalankan
emacsclient
dari baris perintah, buka bingkai baru dengan file yang dipilih.
- Jika saya menjalankan
Ketika menjalankan emacs dari terminal jarak jauh, saya ingin emacs mode teks untuk memulai, terhubung ke proses daemon.
Jika saya menjalankan
Emacs.app
kembali menggunakan daemon emacs yang berjalan di latar bukannya memulai contoh baru dan membuka jendela baru di atasnya.
Sejauh ini, saya hanya dapat mencapai # 1 dan # 2.2 di atas, tetapi itu adalah bagian yang mudah. # 3 dan # 4 adalah hal-hal yang paling dibutuhkan untuk membuat pekerjaan ini. Adakah yang tahu bagaimana menyelesaikan hal-hal ini?
M-x server-start
menggunakan emacs tanpa--daemon
masuk ke mode server. Pertanyaan bagus, BTW.(server-start)
.emacs Anda sehingga itu dimulai ketika Anda meluncurkan emacsaJawaban:
Ya, Anda ingin menggunakan emacsclient. Untuk mendapatkan bingkai baru, tambahkan opsi -c. Saya memiliki alias untuk membuatnya lebih cepat dan untuk memberitahu emacsclient untuk tidak menunggu server emacs untuk kembali:
emacsclient -nw
em
alias saya .Memperbarui:
Lihat tip ini yang mendokumentasikan cara menggunakan Platypus untuk membuat pembungkus aplikasi di sekitar emacsclient. Anda kemudian dapat menggunakan "Buka Dengan ..." untuk meluncurkan menggunakan pembungkus aplikasi baru Anda.
sumber
Ya, berikut ini penjelasan yang cukup komprehensif tentang cara melakukan ini dengan baik. Saya mencoba beberapa metode untuk membuatnya bekerja dengan baik, tetapi tidak lebih baik dari apa yang mereka jelaskan di sini.
https://gist.github.com/304964
Tepuk tangan!
sumber
Untuk 4. taruh ini di .emacs Anda:
Solusi membuat Mac .app (dengan Platypus) tidak berfungsi karena Mac tidak akan membuka aplikasi yang sama dua kali.
sumber
open -a Emacs.app
tentu saja apa yang saya lakukan, tetapi untuk dibuka pada instance / daemon background yang sama dari emacs yang ada, saya perlu menulis(setq ns-pop-up-frames nil)
di saya.emacs
seperti yang saya tulis dalam jawaban saya. Kalau tidak, ia akan menciptakan jendela baru, dengan atau tanpa-n
.