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




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.


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.



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.

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."
  (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-.


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.


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


If you think this article is good, share it please




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


Fix emacs powerline character gets corruption(mojibake) on Mac standard terminal or iTerm2

Abstract Hello everyone it’s me candle. In this time I will show you how to fix emacs powerline character corruption(mojibake). I am referring to this site. I will explain both iterm2 and mac standard terminal. In my case I launch the Emacs with iterm2, the arrow of powerline gets garbled. Let’s fix. Precondition You use emacs Your emacs was installed powerline. You use emacs with iTerm2 or mac standard terminal.

Build PlantUML environment on Mac using brew

Abstract Hello everybody it’s me candle. In this article, I would like to build a plantUML environment which can make UML easily on Mac. I have been used starUML for making UML. plantUML seems to be much more useful than that. Precondition You already use brew. Check java version I think that java is already installed in your mac pc. PlantUML can be run with mac default java. So you launch terminal app and check the java version with the below command. java -version Probably it can be work in java version around 1.8.x . Install graphviz graphviz is a …

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

Atom imports React component using import-js 2.2.0

Abstract Hello everybody it’s me candle. In this time we will import the component path into the file using import-js and Atom automatically. 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. Precondition Already exist React web environment I recommend you use the react project created by create-react-app command which I wrote the before article. Atom was installed in your computer.

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


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.