# How to enable editing\_mode = 'vi' for a ZMQTerminalIPythonApp console?

**URL:** <https://discourse.jupyter.org/t/how-to-enable-editing-mode-vi-for-a-zmqterminalipythonapp-console/23722>\
**Category:** General\
**Tags:** ipython, how-to, help-wanted\
**Created:** [February 1, 2024, 12:50pm UTC](https://discourse.jupyter.org/t/how-to-enable-editing-mode-vi-for-a-zmqterminalipythonapp-console/23722 "2024-02-01T12:50:35Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tzeitim](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/tzeitim/32/12284_2.png) [@tzeitim](https://discourse.jupyter.org/u/tzeitim)\
**Post date:** [February 1, 2024, 12:50pm UTC](https://discourse.jupyter.org/t/how-to-enable-editing-mode-vi-for-a-zmqterminalipythonapp-console/23722/1 "2024-02-01T12:50:35Z")

</div>

When starting a vanilla kernel (e.g. invoking ‘ipython’) it is possible to change the editing mode between ‘emacs’ or ‘vi’. There are other ways of doing it but a simple one is to:

```auto
ipython
Python 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:40:32) [GCC 12.3.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.16.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: ip = get_ipython()

In [2]: ip.editing_mode
Out[2]: 'emacs'

In [3]: ip.editing_mode = 'vi'

[ins] In [4]:

```

But when connecting to a (jupyter-lab) kernel this is not possible:

```auto
jupyter console --existing kernel-00463bd1-4faf-4491-a903-a7179a6d4ceb.json
[ZMQTerminalIPythonApp] WARNING | Config option `kernel_spec_manager_class` not recognized by `ZMQTerminalIPythonApp`. Did you mean `kernel_manager_class`?
Jupyter console 6.6.3

Python 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:40:32) [GCC 12.3.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.16.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: ip = get_ipython()

In [6]: ip.editing_mode
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[6], line 1
----> 1 ip.editing_mode

AttributeError: 'ZMQInteractiveShell' object has no attribute 'editing_mode'

In [7]:

```

Is there a way to enable this functionality for such types of consoles?
