Ketika saya ingin beralih antar program di Windows, saya biasanya menggunakan tombol windows plus tombol angka untuk menjalankan program dari taskbar saya. Sebagian besar program akan mulai berjalan atau, jika sudah ada instance, bawa ke latar depan dan fokuslah pada itu. Tetapi Emacs (dimulai dengan runemacs.exe) akan membuat entri baru di taskbar, dan menggunakan pintasan lagi hanya akan membuat contoh baru. Sejauh yang saya tahu, saya bahkan tidak bisa beralih di antara frame yang berbeda menggunakan perintah Emacs (saya mencoba Cx 5 o).
Apakah ada cara untuk membuatnya sehingga penggunaan hotkey windows selanjutnya hanya akan menggunakan instance Emacs yang ada dan, jika tidak, bisakah saya setidaknya membuatnya sehingga saya dapat dengan mudah menavigasi antara frame yang berbeda? Saya mencoba cuplikan ini:
(require 'server)
(unless (server-running-p)
(start-server))
dari jawaban untuk pertanyaan ini , tetapi itu tidak membuat perbedaan.
sumber
emacsclientw.exe
runemacs.exe
sebagai editor alternatif, Anda dapat meneleponemacsclientw.exe
bahkan ketika tidak ada server edit yang sedang berjalan.Jawaban:
Tambahkan ini ke file init Anda untuk memastikan bahwa server edit dibuat ketika emacs dimulai
Sekarang buat pintasan windows Anda dengan menunjuk
emacsclientw.exe
sebagai berikut:Ini harus memfokuskan frame Emacs yang ada (jika ada), atau panggilan
runemacs.exe
lain. (Terima kasih kepada Vamsi untuk bantuan menyetel parameter perintah)sumber
-c
flag memperbaiki masalah itu?C:\path\to\emacsclientw.exe -n -e "(raise-frame)" -a "C:\path\to\runemacs.exe"
untuk menghindari membuat bingkai baru dan menaikkan bingkai sebelumnya.-c
akankah itu juga mengharapkan file untuk dikunjungi? (Jika Anda tidak tahu saya tidak di mesin Windows sekarang.)-c
memiliki-e
ekspresi.Saya menemukan jawaban lain untuk masalah pada SuperUser hari ini. Tampaknya lebih bersifat meretas, tetapi hasilnya lebih konsisten dengan program lain di Windows.
sumber
Properties
Anda juga dapat mengaturStart in
direktori dan membuka Emacs ke file atau direktori tertentu. (Saya memulai Emacs dengan Dired diStart in
direktori. TKI, saya meneruskan direktori yang sama ("
-dikutip) dengan argumenrunemacs
.)