^
является ключевой привязкой для перехода в родительский каталог в dired
(«Up directory»).
Тем не менее, в Gnu Emacs
на Windows 7 Professional 64-bit
мою немецкой раскладке клавиатуры, не достаточно , чтобы ввести «^» , но я должен набрать пространство после сделать ключ привязки работы.
Как я могу переопределить привязку клавиш, чтобы избежать необходимости нажимать пробел и двигаться вверх только с «^»?
C-h k ^<space>
возвращается
^ запускает команду dired-up-directory, которая представляет собой интерактивно скомпилированную функцию Lisp в `dired + .el '.
Это связано с ^.
(dired-up-каталог & необязательное ОКНО)
Запустите Dired в родительском каталоге текущего каталога. Найдите родительский каталог в этом или другом буфере. Создает буфер при необходимости.
источник
us-intl
Linux.microsoft-windows
тэг уместен.^
вnotepad.exe
.dired-up-directory
и использовать ее вместо этого или (3) согласитесь с проблемой и введите пробел после ^. Я иду с (3) себе, но я действительно нахожу это раздражает.Ответы:
При настройке клавиатуры клавиша ^ скорее всего является «мертвой клавишей». Это ключ, предназначенный для использования в сочетании с другим для создания другого символа. В этом случае он предназначен для создания акцентированных символов: ^ e будет производить ê, ^ a будет производить â и так далее.
Это не должно быть специфичным для emacs: я полагаю, что все ваши приложения требуют, чтобы вы нажимали ^ и отображали фактический ^ на экране.
Чтобы решить эту проблему, вам просто нужно использовать другую раскладку клавиатуры. В случае вашего немецкого макета в среде Windows, я просто буду ссылаться на /superuser/280005/how-to-make-and-non-dead-keys-on-windows-7- with-German-Keyboard layout , надеясь, что это правильно.
источник
Я предполагаю, что вы подтвердили привязку
^
в Dired как существующуюdired-up-directory
, так что какая команда вызывается, это не проблема, если вы или что-то, что вы загрузили, не посоветовали эту команду. (ИспользуйтеC-h k ^
и дайте нам знать, если команда рекомендуется.)Вы пометили это с
microsoft-windows
. Может быть, упомянуть, какую версию MS Windows вы используете. Я не вижу этого с Windows 7 64-битной.Видите ли вы такое же поведение, если вы запускаете Emacs с помощью
runemacs -Q
, т. Е. Без файла инициализации? Если да, пожалуйста, дайте рецепт здесь, начиная сrunemacs -Q
. В этом случае это может быть ошибка Emacs.Если вы не видите проблемы с этим,
emacs -Q
то рекурсивно делите пополам ваш файл инициализации, пока не сузите его, чтобы найти виновника. Вы можете использовать команду,comment-region
чтобы закомментировать регион кода (используйтеC-u
его, чтобы раскомментировать регион).Как только вы найдете код преступника, вы можете исследовать это более внимательно. Или вы можете сообщить здесь, что вы нашли, если вам нужна дополнительная помощь. Для лучшей помощи, будьте как можно конкретнее.
Что касается переопределения ключа: это не проблема - просто используйте
(define-key dired-mode-map SOME-KEY 'dired-up-directory)
, гдеSOME-KEY
описание ключа. Например, чтобы связать команду сC-o
, вы можете использовать это:Обновлено после вашего комментария и других -
Поскольку вы видите то же самое
emacs -Q
, проблема заключается либо в вашей настройке MS Windows (т.е. вне Emacs), либо в самой ошибке Emacs.Но другие комментарии ясно дают понять, что проблема заключается в том, что в MS Windows проблема заключается в залипании клавиш. Попробуйте выключить липкие ключи .
источник
runemacs.exe -Q
этим то же самое. Ввод ^ в буфере вводит только символ, если я наберу <пробел> или другую клавишу после. То же самое вdired
режиме, оно должно^1 <space>
двигаться вверх. Дляdefine-key
: но я хотел бы использовать клавишу ^ для этой привязки, есть ли способ избежать ее ожидания <пробел>?