В Bash режим Vi я брошен в Режим вставки автоматически после одного нажатия клавиши

Рассмотрите использование virtio. Это позволяет прямое подключение между VM, и хост без потребности эмулировать (замедляют) аппаратные средства. Я измерил высокие улучшения производительности сети с ним.

Например, можно включить virtio сетевое устройство kvm параметром командной строки "-сеть nic, model=virtio".

При использовании virtio блочных устройств обратите внимание на то, что новые имена устройств затем "vda1" и т.д., но это должно быть не проблемой, так как текущие дистрибутивы Linux обнаруживают разделы согласно своим UUID.

6
18.03.2018, 01:34
2 ответа

Я решил свою проблему после чтения комментария от @Patrick

Поведение, которое Вы описываете, является emacs режимом.

Который заставил меня понять, что я не был в vi режиме. Я также поместил

set -o vi

Строка в моем .bash_profile и теперь все хорошо работает. То, которое является странным, потому что от то, что я считал .bash_profile, используется для оболочек входа в систему и .bashrc для интерактивных оболочек невхода в систему, которым я верил бы, является моей ситуацией.

1
27.01.2020, 20:30

Ваша проблема в том, что вы все еще находитесь в режиме emacs -. Однако я думаю, что лучше изменить файл .inputrc, а не .bashrc. Таким образом, все, что использует GNU readline, остается совместимым с вашей оболочкой (и работает для других оболочек, кроме bash ).

Я добавляю следующее к моему .inputrc. Он дает мне режим vi -по умолчанию, а также переводит меня в «нормальный» режим vi -быстрым последовательным нажатием клавиш jи k. Поскольку эти клавиши находятся в начальной строке, это намного проще, чем набирать esc, а комбинация «jk» в тексте встречается на удивление редко.

# Make GNU readline (including bash) use vi-mode
 
set editing-mode vi
set vi-ins-mode-string \1\e[6 q\2
set vi-cmd-mode-string \1\e[2 q\2
 
set keymap vi-insert
"jk": vi-movement-mode
0
28.12.2020, 13:29

Теги

Похожие вопросы