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 *

関連記事

Hide Google Chrome 70 “For quick access, place your bookmarks …” bar

Abstract Hello everyone it’s me candle. I usually use Safari. Sometimes using Google Chrome, I forget how to turn off the bookmark bar. First I will write two important things. Google Chrome 70 turn off the book mark bar by default. In the top page of Google Chrome 70, the bookmark bar is definitely displayed Condition You use Google Chrome Turn off it Open Google Chrome, choose “Settings” from the menu icon in the top right. If you turn off “Show bookmarks bar” in the second “Design” area from the top, bookmark bar disappears. It’s over Conclusion Simple is best.

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

Import React components using Emacs and import-js2.2.0

Abstract Hello everybody it’s me candle. In this time we will import the component path with emacs and import-js. React recommends to write one component in one file, when development becomes to be big, the number of component increase. If you use 10 components with one Container, you need to write 10 import statements. import-js helps us from such troublesome work. Caution It worked well on the react web but in react native import-js didn’t successfully find out the component. Probably I think that there are some lack of the setting of import-js. Precondition Already exist React web environment I …

How to send pdf from Mac to iphone or ipod using iBooks

English 日本語 Abstract Hello everyone, It’s me candle. In this time, I will show you how to send a pdf file from Mac to iphone or ipod. Sometimes I want to read the pdf document in the train, so I wrote the article about it. Before you send a pdf file to the iphone, you add the pdf to iBooks app. Then you will send the pdf with itunes. Precondition Mac PC iphone or ipod or ipad pdf file

How to invert photoshop brush

English 日本語 Abstract Hello everyone. It’s candle. In this time, I’ll show you how to invert brush effect. Precondition Nothing


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.