Нажатие «V» в терминале открывается Bash-fc.some_random_string в редакторе

Недавно я начал использовать клавиатуру VIM в терминале. Я изменил ключ от Терминал, добавляя следующую строку в файле ~ / .bashrc.

set -o vi

Но я заметил проблему с этим. Когда я перехожу в обычный режим, нажав клавишу «Escape», а затем нажмите «V», он открывает файл со следующим именем в редакторе по умолчанию.

/tmp/bash-fc.some_random_string_here

e.g., /Tmp/bash-fc.pffb1vy

BFFB1VY

I've попробовал проверять все сочетания клемма, но не смогли найти ничего с «V». Хотя я новичок в скриптах Shell, я проверил файл ~ / .bashrc, но не смог найти ничего, связанного «Bash-Fc».

Может ли кто-нибудь из вас, пожалуйста, скажу мне, в чем причина этого? Это действительно раздражает случайно открыть VIM и выйдут VIM каждый раз: (

In normal mode(after pressing Escape)

And I press "v" and I'm in vim :(

2
задан 19 February 2021 в 16:43

1 ответ

В Vi-режиме Бэша отсутствует визуальный режим . В обычном режиме v дамп текущей строки в предпочитаемом пользователем редакторе. Там команда вводится/редактируется, и после сохранения и выхода из редактора (в Vim, :x или :wq), Bash выдает команду.

Чтобы отключить привязку, можно перепривязать ее к незаметной операции. Просто добавьте это в файл ~/.inputrc:

set keymap vi-command
"v":redraw-current-line

Этот файл влияет только на GNU Readline (библиотеку, которая обрабатывает пользовательский ввод на Bash), но никогда не на сам редактор Vim.


В настоящее время пользователи Vi-режима в основном останавливаются на недокументированных основаниях (v нет ни в руководстве Bash, ни в Readline's manual) и сталкиваются с некоторыми ошибками. Например, если вы наберете

a b b

в строке запроса, наведете курсор на a, а затем попробуете tb в нормальном режиме, курсор перейдет к первому b, но затем, если вы попробуете повторить движение с помощью ;, курсор не будет двигаться.

1
ответ дан 18 March 2021 в 23:33

Другие вопросы по тегам:

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