Saya baru-baru ini membeli Mac pertama saya dalam satu dekade dan sedang dalam proses mengkonfigurasi itu. Saya seorang pengguna Emacs dan telah menentukan saya ingin hanya Emacs biasa bukan Aquamacs sehingga saya dapat menggunakan konfigurasi yang ada dari sistem operasi lain. Saya telah mencoba mengikuti banyak cara yang saya temukan online (seperti ini , ini dan ini dari situs tempat saya mengunduh Emacs ), dan telah mencoba menggabungkan potongan-potongan dengan berbagai cara, tetapi tidak pernah membuat keadaan menjadi mendekati apa yang saya harapkan / harapkan:
- Daemon Emacs mulai berjalan saat startup atau segera setelah saya membutuhkannya ; baik baik saja. Setiap frame Emacs baru didukung oleh server yang sama.
- Ketika saya membuka file teks dari Finder file dibuka di Emacs, dalam bingkai grafis yang ada jika memungkinkan.
- Jika saya menjalankan Emacs.app, sistem menggunakan kembali daemon emacs yang berjalan di latar bukannya memulai contoh baru dan membuka jendela baru di atasnya. ( ujung topi )
- Ketika saya menjalankan Emacs dari terminal, terminal menjalankan bisnisnya tanpa menunggu saya selesai dengan Emacs (kecuali saya menggunakan '-nw')
- AFAIK pada titik mana pun selama operasi yang dijelaskan di atas haruskah Emacs berakhir dalam keadaan ("mode edit server?") Di mana ia menunggu saya mengetik
C-x #
, meskipun saya tidak memiliki pemahaman yang mendalam tentang hal ini. - (Saya akan menganggap ini sebagai bonus). Ada beberapa cara bagi saya untuk memanggil Emacs dari terminal sehingga Emacs menggunakan kembali frame yang ada jika memungkinkan.
Bagaimana saya bisa mengkonfigurasi Emacs untuk berperilaku seperti ini?
Saya khususnya bingung dengan membuat Finder untuk membuka hal-hal di Emacs seperti yang saya inginkan (# 2), karena panduan yang saya temukan umumnya membuat sejumlah alias, Applescripts, bash scripts, dll. Dan saya tidak yakin yang saya ingin memberitahu Finder untuk digunakan untuk membuka file teks.
Terima kasih!
A. @lawlist bertanya, "Apakah frame baru dibuka secara default ketika Anda membuka file baru dari terminal meskipun ada frame yang ada?" Jawabannya adalah jika saya memulai server saat startup seperti yang dijelaskan di sini , buka bingkai, dan kemudian buka file dengan mengetik /Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n <whatever>
, saya bisa mendapatkan file untuk dibuka di bingkai yang ada. Jika tidak ada bingkai saat ini terbuka saya harus menggunakan "-nc" atau ketika saya mencoba membuka file tidak ada yang terjadi.
B. @lawlist bertanya, "Apakah Anda ingin daemon berjalan saat login, atau apakah itu cukup untuk memuat Emacs secara manual setelah login?" Menjalankan secara manual akan baik-baik saja.
M-x server-start
secara manual akan memulai server sehingga emacsclient
dapat berkomunikasi dengannya. Saya telah menempatkan file (server-start)
saya init.el
daripada menggunakan daemon saat login - namun, banyak orang lebih suka opsi masuk daemon. Dan tentu saja, .emacs
file tersebut akan menjadi tempat yang cocok untuk (server-start)
.
ns-find-file
- yang diaktifkan secara otomatis ketika file dikaitkan dengan Emacs.app. Fungsi file intersep saya di tautan di atas juga memodifikasi ns-find-file
jika itu sesuatu yang menarik minat Anda. Tentu saja, Anda perlu Emacs built --with-ns
.