exchange-point-and-mark
Komut bağlıdır C-x C-x, ama böyle önemli bağlanmasının hak yapacak herhangi kullanım durumları düşünemiyorum.
exchange-point-and-mark
Düzenleme tekniğimi geliştirmek için nasıl kullanabilirim ?
exchange-point-and-mark
Komut bağlıdır C-x C-x, ama böyle önemli bağlanmasının hak yapacak herhangi kullanım durumları düşünemiyorum.
exchange-point-and-mark
Düzenleme tekniğimi geliştirmek için nasıl kullanabilirim ?
Yanıtlar:
Düşünebileceğim iki durum var: bölgeyi yeniden etkinleştirmek ve bölgenin boyutunu ayarlamak.
Çoğu zaman bu bağlayıcıyı, devre dışı bırakan bir komut gerçekleştirdikten sonra veya bölgeyi etkinleştirmeden işaret ve hamle ayarlayan bir şey yaptıktan sonra bölgeyi yeniden etkinleştirmek için kullanırım.
Örneğin, bir C yapın ve bir şey arayın. Aramadan çıkmak için RET tuşuna, ardından aramayı başlattığınız yerden her şeyi işaretlemek için Cx Cx tuşuna basın.
Bir StackExchange cevap bazı örnek elisp dahil etmek istediğinizde ben çok yapmak başka bir örnek:
Diğer durum, bir bölgeyi işaretlediğinizde ve onu genişletmek / daraltmak istediğiniz zamandır. Bu durumda, bölgenin "diğer ucuna" atlamak, onu hareket ettirmek, sonra geri atlamak uygundur. Bölge zaten aktifse, Cx Cx tuşuna basıldığında bölge aktif kalır ve her iki ucu da hareket ettirebilirsiniz.
Emacs'a sor: C-h r i exchange-point-and-mark RET
ya da daha iyisi C-h r i C-x C-x RET
. Bu sizi aşağıda gösterilen bilgilere götürür.
Düğüm Ayar İşareti sorunuza yanıt olarak Emacs kılavuzunun söylediği şeydir :
C-x C-x
noktanın konumundan memnun olduğunuzda, ancak bölgenin diğer ucunu (işaretin olduğu yerde) taşımak istediğinizde yararlıdır .C-x C-x
Gerekirse ikinci kez kullanmak , işareti orijinal konumuna geri gelecek şekilde yeni konuma yerleştirir. Normalde, işaret etkin değilse, bu komut bölgenin işaretli bırakıldığından emin olmak için önce işaretin en son ayarlandığı yeri yeniden etkinleştirir. Ancak, bir önek argümanı ile çağırırsanız, işaret etkin değil ve bölge vurgulanmamış olarak kalır; Eğer yapabilirsiniz işaretine atlamak için kullanabilir benzer bir şekildeC-u C-<SPC>
.
Ve Devre Dışı Geçici İşaret düğümünde bunun hakkında söylediği şey :
[
transient-mark-mode
] Kapatıldığında Emacs alternatif bir çalışma moduna geçer:
İşaretinin
C-<SPC>
veya gibi komutlarla ayarlanmasıC-x C-x
bölgeyi vurgulamaz. Bu nedenle, işaretin bulunduğu yere bakarak söyleyemezsiniz; Hatırlamak zorundasın.Bu sorunun olağan çözümü, işareti ayarlamak ve daha sonra nerede olduğunu unutmadan önce kullanmaktır. Ayrıca , noktanın ve işaretin konumlarını değiştiren işaretin nerede olduğunu
C-x C-x
da kontrol edebilirsiniz - bkz. Ayar İşareti .Geçici İşaretleme modu kapalıyken,
C-<SPC> C-<SPC>
veya tuşunu kullanarak geçici olarak etkinleştirebilirsinizC-u C-x C-x
.
ve:
C-u C-x C-x
Nokta ve işareti değiştirin, işareti etkinleştirin ve işaret bir sonraki devre dışı bırakılana kadar Geçici İşaret modunu geçici olarak etkinleştirin. (Bu, bir önek bağımsız değişkenine sahipC-x C-x
komutturexchange-point-and-mark
.)
Bunu kaldıran bir işlem nedeniyle bir seçimi kaybettiğimde kullanıyorum ve seçimi geri yüklemek istiyorum. Böyle bir senaryo şöyle olur:
Bu, seçilen bir alanın ad hoc yedeklemesini yapmak ve kopya üzerinde denemek istediğimde olur, örneğin, bazı bul ve değiştir yapmak istiyorum, ancak bunu yapmanın bir yolunu düşünemiyorum kalması gereken bazı metinleri yok etmeyecek şekilde, bu yüzden daha sonra kopyadan geri döndürürdüm.
Diğer cevaplar C-x C-x
ne zaman transient-mark-mode
aktif olduğunun faydasına odaklanır . Ancak C-x C-x
öncedir transient-mark-mode
ve bağımsız olarak yararlıdır.
Ana rolü C-x C-x
nokta ve işaret takas etmektir. Bu, tek bir arabellekte iki noktayı düzenlerken faydalıdır ve bazı nedenlerden dolayı geçerli pencereyi bölmek istemez. Biraz düzenleme yapın, işaretleyin, arabellekteki başka bir noktaya geçin, biraz düzenleme yapın, C-x C-x
eski yerde C-x C-x
biraz düzenleme yapın, biraz daha düzenleme yapın ve bu şekilde çalışın. (İkinci noktaya geri dönmeyi planlamıyorsanız, C-u C-SPC
daha sezgisel olabilir. Emacs kılavuzundaki işaret halkasına bakın .)
Ne zaman transient-mark-mode
devre dışıdır, C-x C-x
bir başka önemli amacı vardır: o bölgenin nerede olduğunu öğrenmek için izin verir. C-x C-x
, C-x C-x
yine noktaya hızlı bir bakış .
(Ve merak ediyorsanız - evet, bazılarımız hala Emacs'ı transient-mark-mode
engelli kullanmayı tercih ediyoruz .)