joppot

コピペで絶対動く。説明を妥協しない

ソフトウェア

In emacs on iTerm2, resolve you can’t enter symbol key binding such as C-; C-: C-> C-< C-. C-,

投稿日:


Abstract

Hello eveyone it’s me candle.
This time I will show you how to solve the problem that you can’t use symbol keybind on your iTerm2 emacs.
Basically, emacs on iTerm2 can’t use key binding of control + symbol.
The detail thing is written in this article.

(japanese)
http://memo.sugyan.com/entry/20120224/1330051378

Acouding to the article
Apparently it seems that the range of ASCII that ctrl key can control is decided.

This post referred to the below linked article.
I tried how to setup symbol key binding a few years ago and I was frustrated.
But I solved it by that. it was really helpful.

(japanese)
http://d.akinori.org/2012/01/02/


Precondition

You use emacs
You use iTerm2



Setting policy

First of all, I wrote it in the abstract chapter, iTerm2 can’t use control + symbol key binding directly.
So we use the function of emacs as if we hit the control + symbol.

Since I don’t know about detail thing of emacs, I quoted from the referenced article.

(I translated to English)

Actually Emacs has a gimmick function called “event-apply-*-modifier” which is equivalent to the sticky modifier key.
For example, pressing C-x @ c (event-apply-control-modifier) and pressing RET is equivalent to pressing C-RET.

We use this function.
For example, if you want to realize “C-.” , like this “C-x @ c .”.
If you try to run “C-x @ c.” on your emacs, the same action as “C -.” will be executed.
Of course if that key binding is set.

Next, use the global shortcut key of iTerm2’s function.
When you hit “C-.” in iTerm2, if you make it to send “C-x @ c .” to emacs, you can use the “C-.” key binding in emacs.



Key setting of iTerm2

Start iTerm2 and select “Preferences…” from “iTerm2” of the top menu.
Choose the “Keys”, push the + button

We’ll try to add “C-.”

Type the “control + .” in “keyboard shortcut” field which state is active. After typing it will be displayed as “^.”

Next select “Send Hex Code” from the pull down menu.
Write the below text in the appeared text field.

18 40 63 2e

This Hex code corresponds to these.

18 = C-x
40 = @
63 = c
2e = .

In brief, that is

C-x @ c .

Push the ok button.
The other key bindings are these.

ショートカットキー Hex code
C-, 18 40 63 2c
C-. 18 40 63 2e
C-: 18 40 63 3a
C-; 18 40 63 3b
C-< 18 40 63 3c
C-> 18 40 63 3e

I want you to be careful.

“C-<" is Control + Shift + <

“C->” is registered with Control + Shift + >

As you can see from the above image, the only difference is the last hex code.
If you want to assign C-( or C-/ etc, please see hex code from the below site.

http://www9.plala.or.jp/sgwr-t/c_sub/ascii.html

iTerm2 setting is finish.

Bind a key in emacs

We will assign C-.
We create a function to display the path of the file and assign it to shortcut.
Open the emacs configuration file.

emacs .emacs.d/init.el

Write this.

(defun show-file-name ()
  "Show the full path file name in the minibuffer."
  (interactive)
  (message (buffer-file-name)))

(global-set-key (kbd "C-.") 'show-file-name)

Save it and reload the file.

M-x eval-buffer

And execute C-.

C-.

The file name will be displayed in the bottom.

This means that “C-.” entered on the keyboard has been converted to “C-x @ c .” with iTerm2 and that keybinding worked well on emacs.

It works good.

Conclusion

You can define more shortcut keys with simple symbol key bindings.

スポンサードリンク

If you think this article is good, share it please

-ソフトウェア
-,

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

Write haml with Atom

English 日本語 Abstract Hello everybody, it’s candle. In this time we will write haml with Atom. I’m coding with emacs for all time. but sotimes I use atom. When I open a haml file, there is no coloring and syntax, I try to add plugin. Premise You have Atom editor.

How to prevent preview from scrolling back to top in Atom’s Markdown

English 日本語 Abstract Hello everyone, it’s candle. Atom has a markdown preview function from the beginning. When markdown’s sentence becomes long, every time you edit it, the preview back to the top. And, you have to scroll every time to check. It is so tough, we will put a plug-in that will automatically adjust the preview. Premise Atom has been installed

Using vc to manage git on emacs25

Abstract Hello everyone it’s me candle. In this article we would like to use vc(version controll) which is included by deault in emacs. It seems that vc supports to both subversion and git, not git-specific functions. If you want to use git with emacs in earnest, I recommend magit. On the other hand, since vc is installed in by default, it is good for user who want to use it easily. Precondition You use emacs You have a basic git skill. vc-git configuration of emacs Although vc supports to git, ‘git add’ and ‘git reset HEAD’ do not exist. I …

Connect to host mysql from docker container of “docker for Mac”

Abstract Hello everyone it’s me candle. In this post I will show you how to connect to the host mysql from the docker container of mac. For example, you may connect to mysql when running rails, wordpress etc on docker. You may prepare docker of mysql, but it can’t hold data, it is troublesome such as startup time. Then I think that it is very useful if docker can access to the host mysql. Precondition You use docker for mac

How to use f.lux, blue light cut software

Abstract Hello everyone. In this time I will explain how to use f.lux. f.flux can reduce the amount of blue light as much as possible. f.lux can adjust the blue light cut rate with the seek bar. Please try using it. Condition You use Mac or Windows I will explain it in Mac PC. Download f.lux Go to the blew site. http://justgetflux.com/ Click the center “Download f.lux” button. Once you have downloaded the zip file, let’s double-click it and extract it. Since The executable file is expanded in the download folder, move it to the Application folder. It’s over. Use …


I work in the venture company as a CTO. I start to write program in University, first I learned java, C++ and PHP. In the company, I'm developing web services by Rails. I do like to automation.