^
adalah kunci yang mengikat untuk pindah ke direktori induk di dired
("Direktori atas").
Namun, di Gnu Emacs
atas Windows 7 Professional 64-bit
dengan layout keyboard Jerman saya, itu tidak cukup untuk mengetik "^" tapi aku harus mengetik ruang setelah itu untuk membuat pekerjaan kunci-mengikat.
Bagaimana saya bisa mendefinisikan ulang ikatan-kunci untuk menghindari keharusan menekan spasi dan bergerak ke atas hanya dengan "^"?
C-h k ^<space>
kembali
^ menjalankan perintah dired-up-direktori, yang merupakan fungsi Lisp interaktif yang dikompilasi dalam `dired + .el '.
Ini terikat ke ^,.
(dired-up-direktori & OTHER-WINDOW opsional)
Jalankan Dired pada direktori induk dari direktori saat ini. Temukan direktori induk di buffer ini atau buffer lain. Membuat buffer jika perlu.
sumber
us-intl
di Linux.microsoft-windows
tag sesuai.^
ke dalamnotepad.exe
.dired-up-directory
dan gunakan sebagai gantinya, atau (3) Hidup dengan masalah, dan ketik spasi setelah ^. Saya akan dengan (3) sendiri, tapi aku tidak merasa menjengkelkan.Jawaban:
Dengan pengaturan keyboard Anda, kunci ^ kemungkinan besar adalah "kunci mati". Ini adalah kunci yang dimaksudkan untuk digunakan bersama dengan yang lain, untuk menghasilkan karakter lain. Dalam hal ini, ini dimaksudkan untuk menghasilkan karakter beraksen: ^ e akan menghasilkan ê, ^ a akan menghasilkan â dan seterusnya.
Itu seharusnya tidak spesifik untuk emacs: Saya kira semua aplikasi Anda mengharuskan Anda menekan ^ dan menghasilkan ^ aktual di layar.
Untuk mengatasi ini, Anda cukup menggunakan tata letak keyboard lain. Dalam hal tata letak bahasa Jerman Anda di lingkungan windows, saya hanya akan merujuk ke /superuser/280005/how-to-make-and-non-dead-keys-on-windows-7- dengan-german-keyboard-layout , berharap ini adalah hal yang benar untuk dilakukan.
sumber
Saya kira Anda telah mengkonfirmasi pengikatan
^
di Dired sebagaidired-up-directory
, jadi perintah mana yang dipanggil bukanlah masalahnya, kecuali jika Anda atau sesuatu yang Anda muat telah menyarankan perintah itu. (GunakanC-h k ^
, dan beri tahu kami jika perintah disarankan.)Anda menandai ini dengan
microsoft-windows
. Mungkin menyebutkan versi MS Windows yang Anda gunakan. Saya tidak melihat ini dengan Windows 7 64-bit.Apakah Anda melihat perilaku yang sama jika Anda memulai Emacs dengan menggunakan
runemacs -Q
, yaitu, tanpa file init? Jika demikian, tolong berikan resep di sini, mulai darirunemacs -Q
. Dalam hal ini, ini bisa menjadi bug Emacs.Jika Anda tidak melihat masalah dengan
emacs -Q
kemudian membagi file init Anda secara rekursif sampai Anda mempersempitnya untuk menemukan pelakunya. Anda dapat menggunakan perintahcomment-region
untuk mengomentari wilayah kode (gunakanC-u
dengannya untuk membatalkan komentar wilayah).Setelah Anda menemukan kode pelakunya, Anda dapat menyelidikinya lebih dekat. Atau Anda dapat melaporkan di sini apa yang Anda temukan, jika Anda memerlukan bantuan lebih lanjut. Untuk bantuan terbaik, sespesifik mungkin.
Adapun mendefinisikan ulang kunci: Itu bukan masalah - cukup gunakan
(define-key dired-mode-map SOME-KEY 'dired-up-directory)
, di manaSOME-KEY
deskripsi kunci. Misalnya, untuk mengikat perintahC-o
, Anda dapat menggunakan ini:Diperbarui setelah komentar Anda dan yang lainnya -
Karena Anda melihat hal yang sama
emacs -Q
, masalahnya adalah sesuatu di pengaturan MS Windows Anda (yaitu, di luar Emacs) atau bug di Emacs sendiri.Tetapi komentar lain menjelaskan bahwa masalahnya adalah kunci lengket di MS Windows. Cobalah mematikan kunci lengket .
sumber
runemacs.exe -Q
sama saja. Mengetik ^ dalam buffer tidak hanya memasukkan karakter, jika saya mengetikkan <spasi> atau tombol lain setelahnya. Dalamdired
mode yang sama, perlu^1 <space>
naik. Untukdefine-key
: tetapi saya ingin menggunakan kunci ^ untuk pengikatan ini, apakah ada cara untuk menghindarinya menunggu <spasi>?