emacs neden önemli yukarı / aşağı olaylarını desteklemiyor


9

AFAIK emacs keyup/keydownyalnızca olayları desteklemez keypressed. Bunun bir sonucu, bir bölgeyi işaretlemek istediğimizde, önce bir işaret belirlememiz set-mark-commandve ardından noktayı hareket ettirerek bölgeyi işaretlememiz gerektiğidir. Metni işaretlerken bir shift tuşunu basılı tutmanıza gerek olmadığından bu gerçekten ilginç bir özellik olsa da, bazen diğer editörlerde olduğu gibi aynı davranışa sahip olmak istenir. Bu soru, emac'ların neden bu özelliği desteklemediğini ve bunun neden daha iyi kabul edildiğini anlamaktır . Ayrıca emacs'ta bunu nasıl çözebileceğimiz ideolojik bir yaklaşım var mı?


6
Emacs ayrıca bir terminalde çalışır ve tuş yukarı / aşağı olayları o ortamda mantıklı değildir. Büyük olasılıkla, bu olayların desteklenmemesinin en azından tarihsel bir nedeni budur. Bu da onların anlamına gelmez olamazdı olsa desteklenmelidir. Kimsenin bununla uğraşmak için yeterince acil bir ihtiyaç görmediğinden şüpheleniyorum.
Harald Hanche-Olsen

1
Tamam, bu geçerli bir argüman, ancak emac'larda yalnızca grafiksel bir ortamda (yazı tipleri, fare olayları, vb.)
şaft

3
Ben aşağı bir dosyayı önizlemek için anahtar yukarı / aşağı olayları simüle eden bazı kod yazdım, sonra yanıtın önizleme arabelleğini kapatın, cevap hileli olduğunu söylüyor, ama belki istikrarlı bir şey haline getirilebilir. emacs.stackexchange.com/questions/275/…
Jordon Biondo

3
[Bu diğer metin editörlerini kullanmıyorum] 'dan bahsediyorum "diğer editörlerde olduğu gibi aynı davranış"? Metnin geri kalanı "seçmek için shift + hareketine" işaret ediyor gibi görünüyor, ancak bu zaten Emacs'ta destekleniyor.
Stefan

4
Eğer doğru bu kilit olaylar Emacs bulunmayan konum rağmen, Emacs bilmeli yapar destek kaydırma seçimi (sorunuzu ilham şey bu yıllardan varsa).
Malabarba

Yanıtlar:


2

Tarihsel nedenlerden dolayı yorumlarda yanıtlandığı gibi Emacs terminallerde çalışır ve bu cihazlar karakter odaklıdır - klavyede bu olduğunda hiçbir garanti vermeden bayt dizisi alırsınız.

Tartışma ayrıca bunu grafiksel ortam için uygulamanın mümkün olduğunu göstermektedir. Ama kimse bununla ilgilenmiyor.

Oyunlar veya müzik yazılımı gibi bazı programların tuşa ne zaman basıldığı, ne kadar süre ve ne zaman piyasaya sürüldüğüyle ilgili ayrıntılı bilgiler kullanabileceğini, ancak metin düzenlemenin bunlarla ortak bir şeyi olmadığını unutmayın.

Kılavuzdan (info "(elisp)Mouse Events"):

Emacs supports four kinds of mouse events:
click events, drag events, button-down events, and motion events.

Fareyle üzerine gelme olayı bekleme zamanlayıcısı tarafından taklit edilebilir - gecikmeden sonra noktayı analiz eder.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.