# Desktop app - vim keyboard mode remap escape?

**URL:** <https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267>\
**Category:** Features\
**Created:** [20 January 2020 13:47 UTC](https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267 "2020-01-20T13:47:31Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![pastra98](https://avatars.discourse-cdn.com/v4/letter/p/b9bd4f/32.png) [@pastra98](https://discourse.joplinapp.org/u/pastra98)\
**Post date:** [20 January 2020 13:47 UTC](https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267/1 "2020-01-20T13:47:32Z")

</div>

Hello, I would like to know if there is an easy way to change the escape key when using the desktop app builtin editor? I noticed that this feature was added due to a [user request](https://github.com/laurent22/joplin/issues/1298) in november, and I have to say that the whole package is already pretty impressive.  
I always configure my vi emulations such that I can use the umlaut ö key as escape, and I’d love to do the same here, instead of using an external editor for sheets. If there is no easy way, I’d appreciate a pointer to the relevant source code, and try to fork from there.  
Best wishes, and thank you for creating this software, I’m ready to finally retire onenote😀

---

<div class="post-metadata">

**Author:** ![tessus](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/tessus/32/13_2.png) [@tessus](https://discourse.joplinapp.org/u/tessus)\
**Post date:** [21 January 2020 02:12 UTC](https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267/2 "2020-01-21T02:12:46Z")

</div>

I don’t think we can do much about it in Joplin.

We use ace as the editor. However, the react-native package is brace. So any questions regarding the vim mode should be directed to those 2 dev teams. If they have a way to do what you want, we might be able to get it working in Joplin.  
But maybe [Shane](https://github.com/ShaneKilkelly) who added that featutre has an idea.

---

<div class="post-metadata">

**Author:** ![pastra98](https://avatars.discourse-cdn.com/v4/letter/p/b9bd4f/32.png) [@pastra98](https://discourse.joplinapp.org/u/pastra98)\
**Post date:** [21 January 2020 09:25 UTC](https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267/3 "2020-01-21T09:25:15Z")

</div>

Alright, guess I’ll use an external editor then. Still worth making the switch from onenote.  
I don’t have enough time to dedicate to this right now, maybe I’ll get around  
to look into it next week.

---

<div class="post-metadata">

**Author:** ![memophen](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/memophen/32/1937_2.png) [@memophen](https://discourse.joplinapp.org/u/memophen)\
**Post date:** [31 March 2020 09:54 UTC](https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267/4 "2020-03-31T09:54:46Z")

</div>

Is there an overview somewhere of the Vim keys and commands that are eventually implemented for the Ace editor? I’ve only found (links to) explanations of how the standard editor mode works on this forum. On my search I made this list:

- [Keyboard shortcuts](https://ace.c9.io/demo/keyboard_shortcuts.html)
- [Ace wiki](https://github.com/ajaxorg/ace/wiki)
  - [Default keyboard shortcuts](https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts)

- Joplin forum
  - [Shortcuts Overview](https://discourse.joplinapp.org/t/shortcuts-overview/3713)
  - [Alt+e curiosity](https://discourse.joplinapp.org/t/alt-e-curiosity/5939)

- Joplin on github
  - [Vi[m] mode](https://github.com/laurent22/joplin/issues/1298)

Additions will be appreciated.

Actually I was looking for a facility to make tabs and newlines visible, because I had created a mess of tabs and spaces in a code block. I’m afraid Ace doesn’t support that. So I guess I have to turn to my external editor for those matters.

---

<div class="post-metadata">

**Author:** ![Jumanjii](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/jumanjii/32/5139_2.png) [@Jumanjii](https://discourse.joplinapp.org/u/Jumanjii)\
**Post date:** [25 June 2020 03:48 UTC](https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267/5 "2020-06-25T03:48:15Z")

</div>

@pastra98 Its seems there is no way to save it for now so you will have to type it on every launch, but you can remap using `imap`

```auto
:imap jj <Esc>

```

Hope this will help others 🙂

---

<div class="post-metadata">

**Author:** ![rxliuli](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/rxliuli/32/4083_2.png) [@rxliuli](https://discourse.joplinapp.org/u/rxliuli)\
**Post date:** [25 June 2020 04:21 UTC](https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267/6 "2020-06-25T04:21:03Z")

</div>

If you need professional editor support, maybe, you can try the very popular full platform editor vscode, which includes [vim keyboard emulation](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim)，and very good support for markdown (through [plugin](https://marketplace.visualstudio.com/search?term=markdown&target=VSCode&category=All%20categories&sortBy=Relevance)). I recently wrote a plugin to simplify the process of using vscode as an external editor.

> [@Joplin's vscode plugin is released!](https://discourse.joplinapp.org/t/joplins-vscode-plugin-is-released/9624):
>
> joplin-vscode-plugin [English](https://joplin-utils.rxliuli.com/joplin-vscode-plugin/), [简体中文](https://joplin-utils.rxliuli.com/joplin-vscode-plugin/zh/)[[install] VSCode Plugin Marketplace](https://marketplace.visualstudio.com/items?itemName=rxliuli.joplin-vscode-plugin)Overview joplin-vscode-plugin offers editing and management of Joplin notes with the power and flexibility of VSCode. Joplin Web Clipper is designed to communicate with browser extensions by sharing Notes, Notebooks, Tags, etc. through a REST web API. joplin-vscode-plugin connects to that same REST endpoint to freely make changes to your notes without ever leaving the editor. Why does this plugin exist? Read [my motivat…](https://joplin-utils.rxliuli.com/joplin-vscode-plugin/other/)

---

<div class="post-metadata">

**Author:** ![Yalchin403](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/yalchin403/32/13675_2.png) [@Yalchin403](https://discourse.joplinapp.org/u/Yalchin403)\
**Post date:** [25 April 2022 17:31 UTC](https://discourse.joplinapp.org/t/desktop-app-vim-keyboard-mode-remap-escape/5267/7 "2022-04-25T17:31:58Z")

</div>

I would also love to see jj binding possibility, however, for now, for some of you who don't know, you can use ctrl + [ which is equivalent of ESC, at least it feels easier to reach than reaching ESC.  
cheers
