Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
828 views
in Technique[技术] by (71.8m points)

terminal - Why does Ctrl+. not work when I bind it to a command in Emacs?

C-. doesn't work in the terminal when I bind it to a command in Emacs. I tried this procedure on gnome-terminal and real terminal tty1. I start Emacs with the -nw flag, then press C-h k (the command for describe-key), then press C-.. Emacs only receives the ., without the Ctrl. How do I get this working in Emacs?

I'm binding keys with this process:

(define-key c-mode-base-map (kbd "C-.") 'semantic-ia-fast-jump)

or

(define-key c-mode-base-map [(control .)] 'semantic-ia-fast-jump)
Question&Answers:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

In short, most terminal emulators are limited in the control characters they can produce (for the simple reason that the original terminals that they are emulating were likewise limited).

So your terminal is very likely not producing anything other than . when you press C-. (and if that's the case, that's basically your answer, unless there is some way to configure the terminal to do otherwise).

(Any time you think Emacs is not acting on some input when running in a terminal, you should attempt to verify that Emacs is actually receiving the input you think it is.)

If your terminal is producing something other than ., then refer to the following Q&As for details on how to get Emacs to recognise the sequence:

If you can run an xterm instead then you are probably in luck, due to some xterm-specific enhancements. Take a look at the following:

Some other related Q&As:


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...