2014-10-30 3 views
1

Есть ли все, что мы можем связать C-, и C-. в emacs? Я пробовал это (define-key global-map (kbd "C-,") 'action), но он, похоже, не работает.Bind C-, и C-

Я использую Emacs на Ubuntu с раскладкой клавиатуры США.

Благодаря

+1

Какая платформа, какая раскладка клавиатуры? Возможно, это будет невозможно, если вы используете консоль на коробке CP/M или подключаетесь к основному блоку OS/360 с помощью Putty. – tripleee

+0

@tripleee Я обновил вопрос. – nXqd

+0

Вы не сказали нам, что используете emacs на консоли вместо использования графического интерфейса. Вероятно, поэтому это не сработает. Связывание палочек, но консоль не будет отправлять нажатие клавиши. – Squidly

ответ

2

Я довольно ваш define-key действительно работает.

Но, скорее всего, когда вы нажмете C-, Emacs на самом деле не получает это.

Что вам скажет C-h k C-,? Как насчет C-, C-h l?

Мой хрустальный шар говорит, что вы работаете в текстовом терминале. В этих зверях многие ключевые комбо не получают правильное выполнение запущенного приложения.

+0

Да, я запускаю emacs в терминале. да, как вы сказали, терминал не получает команды. хм, это немного странно. Я перехожу от Вима, я нахожу хорошую комбинацию клавиш для обхода ошибок flycheck, я думаю, что найду другую пару. Я привык к [-n] -p. но привязка начинается с [или], похоже, не разрешается в emacs :) – nXqd

+2

Обратите внимание, что для большинства текстовых терминалов (например, консоли Linux xterm) вы можете научить их отправлять escape-последовательность по вашему выбору для ключей, которые вам нужны , а затем вы можете научить Emacs распознавать эти escape-последовательности. И, конечно же, Emacs * делает * let you '(глобальный набор-ключ [n" 'действие) '. Вам просто нужно сначала «(глобально-unset-key» [")'. – Stefan

1

Вы могли бы попробовать key binding commands, например,

(global-set-key [(control ?,)] 'some-action) 

в файле ~/.emacs (чтобы сделать ваш ключ связывания постоянным, и доступен после рестарта). Кстати, вы могли бы оценить, что сначала проверить его. Затем перезапустите свой emacs и используйте C-h k C-,, чтобы проверить, привязан ли он.

+0

Не перезапускайте emacs, просто оцените '(global-set-key ...)' и посмотрите, привязан ли он. – Squidly

+0

Ну, если вы хотите сделать его постоянным, лучше отредактируйте '.emacs' –

+0

Да, но тогда вам нужно перезапустить экземпляр emacs, что является болезненным. Вам просто нужно добавить sexp в свои '.emacs' или' init.el', а затем оценить. Затем он появится позже, но вы не потеряете состояние своего текстового редактора. – Squidly