1

Эта проблема возникает только в Gvim. Этого не происходит в консольной версии vim. Я использую Gvim 7.2.245 на машине с Ubuntu 9.10.

После открытия Gvim я могу набрать:sh и перейти к приглашению оболочки. Затем я могу выполнить команду (например, ls). Однако, если я хочу выполнить эту команду еще раз, нажав клавишу со стрелкой "вверх", я могу получить искаженную информацию о том, что выглядит как некоторый двоичный файл, а затем буквы "ku". Аналогичным образом нажатие стрелки "вниз" дает тот же результат, за которым следуют буквы "kd".

Если я нажимаю ESC, а затем одну из клавиш со стрелками, я получаю ТОЛЬКО буквы (например, "ку") без искаженного двоичного файла.

Возможно, эта проблема как-то связана с текстовыми терминалами и клавишами курсора vim или чем-то еще. У кого-нибудь есть ответ на это?

1 ответ1

2

Вероятно, это связано с тем, что эмуляция терминала vim не поддерживает readline. Вы спрашиваете, что такое readline?

Ну вот небольшое вступление с основного сайта:

Библиотека GNU Readline предоставляет набор функций для использования приложениями, которые позволяют пользователям редактировать командные строки по мере их ввода. Доступны как режимы редактирования Emacs, так и vi. Библиотека Readline включает в себя дополнительные функции для ведения списка ранее введенных командных строк, для вызова и, возможно, для повторного редактирования этих строк, а также для выполнения csh-подобного расширения истории предыдущих команд.

Readline - это то, что позволяет вам использовать клавиши со стрелками для изменения текста, например, перед его выполнением в терминале. Таким образом, поведение, которое вы описываете, совершенно нормально.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .