LINUX.ORG.RU

Отключить исполнение после визуального режима Vi-mode в Bash

 ,


0

2

Здрасте.

Сделал себе vi-mode в баше, следующим путём:

set -o vi
Но не всё порадовало, что было по-умолчанию. В частности при переходе в визуальный режим — оно открывает сам Vi, но после :wq сразу исполняет результат, такое поведение меня не устраивает, поскольку мне нужно в визуальном режиме только некоторые корректировки внести, а потом продолжить использовать автодополнение баша. Можно как-то отключить, чтобы при выходе из визуального vi-режима он сразу не исполнял команду?

P.S.: Ещё небольшой вопросик: можно ли отображать как-то в баше, какой сейчас vi-режим (вставка, нормальный)?



Последнее исправление: Applejohn (всего исправлений: 1)

Думаю, вряд ли. Я скопировал себе хоткеи из емакса в баш и сижу радуюсь.

Deleted
()

Ещё небольшой вопросик: можно ли отображать как-то в баше, какой сейчас vi-режим (вставка, нормальный)?

Нельзя, но можно в zsh.

anonymous
()

при выходе из визуального vi-режима он сразу не исполнял команду?

Готовой настройки не видел. Но что мешает реализовать самостоятельно?

readline-edit() {
    local TMP="/tmp/readline-edit.$RANDOM"
    echo "$READLINE_LINE" > "$TMP"
    vim "$TMP"
    READLINE_LINE="$(< "$TMP")"
    rm "$TMP"
}
bind -m vi -x '"\\v" : "readline-edit"'

Обработка позиции курсора — вам на домашнее задание.

Zmicier ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.