Возможно ли иметь привязку ключей vim в терминале?

42

Я привыкаю к ​​привязкам vim (например, нажимая w, чтобы перейти к слову, dw, чтобы удалить слово и т. Д.) И его режимам (вставка, нормальный, визуальный), и, из любопытства, хотел бы знать: есть ли некоторые вид реализации этого поведения режимов и привязок от Vim к моему терминалу?

Есть режим вставки, нормальный режим и такие ...

Кто-то все еще использует тебя MS-DOS
источник

Ответы:

46

Он имеет режим вставки и нормальный режим (режим вставки по умолчанию и выход для нормального режима), но не визуальный режим.

В bash: set -o viвы можете запустить его из командной строки только для этого сеанса или добавить в файл .bashrc.

Многие программы используют readlineдля ввода, и вы можете сделать любого из них использовать сочетание клавиш VI-стиля, установив ваш .inputrcс

set editing-mode vi
set keymap vi

В zsh, если вы измените EDITORпеременную окружения, оболочка будет соответствовать ей.

Шон Дж. Гофф
источник
1
Довольно аккуратно. Вы знаете, возможно ли иметь какой-то .vimrc, но для этого? Например, добавление различных сопоставлений в <ESC> ...
Кто-то все еще использует вас MS-DOS
2
@ Somebody: Нет, .vimrcпоскольку вы все еще используете встроенный редактор оболочки, но вы можете настроить привязки клавиш .inputrcдля всех приложений readline (таких как bash), в частности .bashrcдля bash, .zshrcдля zsh.
Жиль "ТАК - перестань быть злым"
1
Оформить заказ на привязку
Шон Дж. Гофф
3
Обратите внимание, что в OS X вам нужно поместить put -o viв ~ / .bash_profile вместо ~ / .bashrc.
Стив Йоргенсен
6
Я заметил, что внешний вид курсора не меняется в разных режимах bash с привязками клавиш. Есть ли способ заставить это сделать это? Было бы неплохо иметь визуальную индикацию того, в каком режиме я нахожусь.
Стив Йоргенсен,