Linux kullanıyorum ve emacs ve sublime text arasında geçiş yap. Yüce metinde Ctrl-Z geri alınır. Bu bazen bazen Ctrl-Z'yi emaclarda vururum; Ne yazık ki bunu yaptığımda, tüm süreç sadece donuyor. Bunun bir işlemi askıya almanın tipik Ctrl-Z davranışıyla ilgili olduğunu sanıyorum; Ancak Emacs'i bir GUI'de çalıştırıyorum, bu yüzden neden bu davranış benim için biraz ötesinde. Bunu değiştirebilmek için herhangi bir yol var mı?Emacs içinde Ctrl-Z vurmak her şeyi dondurur
5
A
cevap
5
Sadece devre dışı göre aşağıdaki öneririm tamamen bağlayıcı:
(global-unset-key (kbd "C-z"))
(global-set-key (kbd "C-z C-z") 'my-suspend-frame)
(defun my-suspend-frame()
"In a GUI environment, do nothing; otherwise `suspend-frame'."
(interactive)
(if (display-graphic-p)
(message "suspend-frame disabled for graphical displays.")
(suspend-frame)))
Yoksa sadece C-z
doğrudan işlevini bağlamak olabilir, ama süper kullanışlı açılmaya bulduğu önek olarak Diğer komutlar için bağlanma - ne kadar nadiren suspend-frame
'u aramam gerektiği göz önüne alındığında, bir çift C-z C-z
'u sadece uygun şekilde buluyorum.
Emacs klavye kısayolunun devre dışı bırakılması, '(askıya alınmış çerçeve) '': (varsayılan anahtar sözcük) \ Cz "nil)' NOT'un varsayılan anahtar bağlamasının yerine hiçbir şey yapmamasıdır. : “Cz” nin “Ch k Cz” ile neye bağlı olduğunu görmek için kontrol etmelisiniz, çünkü başka bir büyük veya küçük modun farklı bir klavye ataması olabilir. – lawlist
Bu durumda işe yarayacaktı; Ancak terminalde çalıştırdığımda süreci askıya almak istiyorum. Bu davranışa geçmek için bir yolu var mı? –
Kullanmakta olduğum Emacs Trunk (Ekim 2014) için varsayılan ayarların iki (2) farklı bağlaması vardır: '[askıya alınmış çerçeve] C-z, C-x C-z'ye bağlıdır. Bu nedenle, yine de kullanabilirsiniz; veya kendi yeni bağınızı oluşturun. 'M-x askıya alma-çerçevesi RET ' – lawlist