2015-01-28 20 views
5

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

+2

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

+1

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ı? –

+0

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

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.

İlgili konular