Недавно я начал использовать клавиатуру 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 каждый раз: (
В 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
, но затем, если вы попробуете повторить движение с помощью ;
, курсор не будет двигаться.