Dizin içinde dizinde yukarı taşımak için “^” den sonra “boşluk” yazmayı nasıl önleyebilirsiniz?


9

^dired("Yukarı dizin") içindeki ana dizine geçmek için kullanılan anahtar bağlayıcıdır .

Ancak, içinde Gnu Emacsüzerinde Windows 7 Professional 64-bitbenim Alman klavye düzeniyle, "^" yazmanız yeterli değildir ama anahtar bağlayıcı çalışması için sonradan boşluk yazmak zorunda.

Boşluğa basmak ve yalnızca "^" ile yukarı doğru hareket etmek zorunda kalmamak için anahtar bağlamayı nasıl yeniden tanımlayabilirim?


C-h k ^<space> İadeler

^, dired + .el dosyasında etkileşimli derlenmiş Lisp işlevi olan dired-up-directory komutunu çalıştırır.

^, İle sınırlıdır.

(dired-up-directory ve isteğe bağlı OTHER-WINDOW)

Geçerli dizinin üst dizininde Dired komutunu çalıştırın. Üst dizini bu arabellekte veya başka bir arabellekte bulun. Gerekirse bir tampon oluşturur.


4
Bu bir işletim sistemi sorunudur, çünkü bu davranış yapışkan tuşlar gibi us-intlgörünür ve Linux gibi belirli tuş haritalarına yerleştirilmiştir.
wasamasa

Wasamasa doğru gibi görünüyor, bu durumda komutu farklı bir anahtara nasıl bağlayacağınızı sormalısınız.
Andrew Swann

@AndrewSwann: Belki, belki değil. Kontrol etmek iyi bir şey, evet. Ancak Linux davranışı, microsoft-windowsetiketin uygun olduğu varsayılarak burada önemsiz olmalıdır .
Drew

Bunu kontrol etmenin en basit yolu, aynı davranışın ^içine yazmak gibi diğer programlar için de geçerli olup olmadığına bakmak olacaktır notepad.exe.
wasamasa

3
Sadece birkaç seçeneğiniz olduğunu düşünüyorum: (1) ^ 'nin ölü bir tuş olmadığı farklı bir klavye düzeni kullanın - bu, emacs'ta değil, işletim sistemi düzeyinde yapılır veya (2) Başka bir tuşu bağlayın dired-up-directoryve kullanın bunun yerine veya (3) Sorunla yaşayın ve ^ 'den sonra boşluğu yazın. I (3) kendimle gidiyorum ama do it rahatsız edici buluyorum.
Harald Hanche-Olsen

Yanıtlar:


11

Klavye kurulumunuzda, ^ tuşu büyük olasılıkla bir "ölü tuş" dur. Başka bir karakter üretmek için başka bir karakterle birlikte kullanılması amaçlanan bir anahtardır. Bu durumda, aksanlı karakterler üretmek içindir: ^ e ê üretecek, ^ a â üretecektir vb.

Ancak emac'lara özgü olmamalıdır: Sanırım tüm uygulamalarınız ekranda ^ tuşuna basmanızı ve ekranda gerçek bir ^ üretmenizi gerektirir.

Bunu çözmek için başka bir klavye düzeni kullanmanız yeterlidir. Windows ortamında Almanca düzeniniz söz konusu olduğunda, /superuser/280005/how-to-make-and-non-dead-keys-on-windows-7- Almanca-klavye-düzeniyle , bunun doğru bir şey olacağını umarak.


0

Sanırım ^Dired'de bağlandığınızı doğruladınız dired-up-directory, bu nedenle siz veya yüklediğiniz bir şey bu komutu önermediği sürece hangi komutun çağrıldığı sorun değildir. (Kullanın C-h k ^ve komutun önerilip önerilmediğini bize bildirin.)

Bunu ile etiketlediniz microsoft-windows. Belki hangi MS Windows sürümünü kullandığınızı belirtin. Bunu Windows 7 64 bit ile görmüyorum.

Emacs'ı runemacs -Qinit dosyası olmadan kullanarak başlatırsanız da aynı davranışı görüyor musunuz ? Eğer öyleyse, lütfen buradan bir tarif verin runemacs -Q. Bu durumda, bu bir Emacs hatası olabilir.

Sorunu görmüyorsanız emacs -Q, suçluyu bulmak için daraltana kadar init dosyanızı tekrar tekrar ikiye ayırın. comment-regionKod bölgesini yorumlamak için komutu kullanabilirsiniz ( C-ubölgeyi açmak için onunla birlikte kullanın ).

Suçlu kodunu bulduktan sonra, bunu daha yakından araştırabilirsiniz. Ya da daha fazla yardıma ihtiyacınız olursa, bulduğunuz şeyi burada bildirebilirsiniz. En iyi yardım için olabildiğince spesifik olun.

Anahtarı yeniden tanımlamak için: Bu bir sorun değil - sadece kullanın (define-key dired-mode-map SOME-KEY 'dired-up-directory), SOME-KEYönemli bir açıklama nerede . Örneğin, komutu bağlamak için şunu C-okullanabilirsiniz:

(define-key dired-mode-map (kbd "C-o") 'dired-up-directory)

Yorumunuzdan ve diğerlerinden sonra güncellendi -

Aynı şeyi gördüğünüz için emacs -Q, sorun MS Windows kurulumunuzdaki bir şeydir (yani Emacs dışında) veya Emacs'ın kendisinde bir hata.

Ancak diğer yorumlar, sorunun MS Windows'ta yapışkan anahtarlar gibi göründüğünü açıkça ortaya koymaktadır. Yapışkan tuşları kapatmayı deneyin .


3
Bu neredeyse kesinlikle konunun yanında. @Wasamasa'nın yorumu tamamen alakalı. Biraz ayrıntılı olarak söylemek gerekirse, ^ yapışkan olduğu için emacs, kullanıcı bir alan yazana kadar keypress olayını bile görmez.
Harald Hanche-Olsen

detaylı cevabınız için teşekkürler! Evet, runemacs.exe -Qaynı şey. Arabelleğe ^ yazmak yalnızca karakteri <boşluk> veya başka bir tuş yazdığımda girer. Aynı diredmodda, ^1 <space>yukarı doğru hareket etmesi gerekir . İçin define-key: ama bu bağlama için ^ tuşunu kullanmak istiyorum, <boşluk> için bekleyen önlemek için bir yolu var mı?
MostlyHarmless

@Harald: ne yapabilirim?
MostlyHarmless
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.