2009-06-24 12 views
15

, görsel blok 'gv' komutu tarafından geri çağırma olabilir yapar. (örneğin, yorum yapın, sonra girintiyi, sonra do_something_fun).Emacs bölgeyi yeniden seçin olarak um kısayol 'gv' birden fazla komutları kolayca uygulanabilir ve böylece VIM

Emacs'te

, bu nasıl sağlanabilir? [C-xC-x] yalnızca geçerli imleç konumu önceki satırın bittiği yerde kaldığında çalışır. Önceki blok değiştirildiyse, en yakın 'noktadan kayıt'a' ve 'kayıttan atlamaya' geçilir. Tek atışta bu yapım bir Emacs yerleşik komut varsa

Sadece merak ediyorum. Ne için soruyorsunuz doğru anlıyorsa

+2

Aww, neden vim'den emacs'a geçiyorsunuz? – Brian

+7

Dini editör seçimi tartışmasında bulunmak istemiyorum. 2 yıl önce Emacs’e geçtim ve beğendim. – Raymond

+0

Daha ayrıntılı olarak ne ifade ettiğinizi anlatabilir misiniz? Ne istediğini bilmek için vim ile yeterince tanıdık değilim. – baudtack

cevap

10

, o zaman bir şey yapmanıza gerek yoktur. Emacs'ta bir bölge seçtiğinizde, yeni bir tane seçinceye kadar seçili kalır. Böylece bölgeyi seçip istediğiniz kadar işlem yapabilirsiniz. Geçici Mark modu kapalı ise

+1

Emacs 23'ü kullanma (.0.93.1). Teşekkürler, ama bahsettiğin gibi çalışmadı. Başlamak için CTRL-SPC kullanarak, son için geçerli konumlandırma seçiyorum. Seçimden sonra bölge vurgular. Bir komutu uygulamak, bu hightlight'ın gitmesini sağlar. Bu seçim bölgesini kabul ettim. – Raymond

+2

@Raymond Başka bir işlem yapmayı deneyin. Bölge artık vurgulanmadı ama hala seçildi. – baudtack

+0

+1 Bu çözümün işe yaradığını kabul etti. –

11

, bölge daima aktiftir. Açıksa (durumunuza benziyorsa), bölge vurgulanmamışsa bölge komutlarının çalışmasına izin vermek için mark-even-if-inactive öğesini nil olmayan olarak ayarlayabilirsiniz. Bununla birlikte, C-u C-SPC'u kullanarak bir önceki işaret pozisyonlarında da geri dönebilirsiniz - bu işaret halkasını açacaktır. Olmak istediğiniz yere döndüğünüzde, C-x C-x istediğiniz bölgeyi tekrar yansıtacaktır. (Bu özellik ile biraz uğraşmak biraz zaman alabilir, ama bu yüzden şimdi Emacs'ten uzak duramam.)

+0

Bu düşünceyle, Emacs bu açıdan vi'den çok daha esnek görünüyor. Bununla birlikte, C-x C-x, OP tarafından açıklandığı gibi çoğu durumda yeterli olmalıdır. – fotNelton

1

Ayrıca bölgeye dar (CTRL-x nn) uygular. O bölgeden sadece o bölgeye kadar her komut, tamponun kalanını incitemez, hatta göstermez. Düzenleme tamamlandıktan sonra, tüm arabelleği geri almak için (CTRL-x n w) genişletin. Eğer bölge değişebilir hatta yerde kalır ikincil seçim, aradığınız gibi CMM

+0

Peki, teşekkürler, bu ilginç bir şey. – fotNelton

0

cevapları yana Burada ve diğer benzer SO soruları için bana yardımcı olmadı (CUA modu, Emacs 24, sadece girinti-katı olarak değil), aramaya devam ettim ve sonunda birbuldum. Bu collection of custom function (starting line 670)'da tanımlanan. Bu benim için bir çekicilik gibi çalıştı - ve umarım buralara hala gelmekte olan başkaları için de umarım.

İlgili konular