Fish vi-mode привязывает Ctrl-o к быстрой команде в режиме вставки - PullRequest
0 голосов
/ 14 января 2019

Я новичок в рыбной оболочке и пользовательских комбинациях клавиш vim. Я перевел fish в режим vi и заметил, что некоторые команды отсутствуют, например Ctrl-o в режиме вставки, для выполнения обычной команды. Кто-нибудь знает, как добавить эту привязку клавиш?

Я успешно добавил эквивалент:

inoremap jk <ESC>

с:

bind -M insert jk 'set fish_bind_mode default; commandline -f repaint'

Но я понятия не имею, как ждать команду и потом возвращаться в режим вставки. Заранее спасибо.

1 Ответ

0 голосов
/ 14 января 2019

Прежде всего:

bind -M insert jk 'установить по умолчанию fish_bind_mode; командная строка -f перекрасить '

Может быть просто

bind -M insert -m default jk 'commandline -f repaint'

(«- m» означает «--sets-mode», я не уверен, почему это не перерисовывается само по себе)


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

Одной из возможностей является создание нового режима «по умолчанию один» через

bind -M insert -m default-one \co 'commandline -f repaint'

и затем вам придется продублировать все привязки для режима «по умолчанию» (см. Их через bind -M default), чтобы добавить -m insert. Я не уверен, что делать с теми вещами, которые уже переключаются в другой режим, такой как «v» (который переключается в визуальный режим).

...