Почему привязки клавиш Vi Raspberry Pi такие причудливые?

18

Вы когда-нибудь замечали, что viпривязки клавиш по умолчанию Raspberry Piнемного странные? Например, находясь в режиме вставки, попробуйте использовать клавиши со стрелками для навигации. Не происходит :)

Является ли это тонким способом заставить нас правильно использовать режим вставки и командный режим или, возможно, привязки были просто упущены при создании изображения?

Я довольно привык к определенному отображению клавиш в Fedora / Debian, которое позволяет использовать клавиши навигации в режиме вставки. Чтобы получить знакомые привязки, к которым я привык, нужно ли мне возиться с эмуляцией терминала или каким-то другим файлом конфигурации?

Брэд Хейн
источник
6
Я ожидаю, что это потому, что вы привыкли, vimи то, что вы сейчас испытываете, действительно vi. На современных дистрибутивах viкоманда часто связана с syslink vim.
Jivings
Это через ssh? Возможно, вам даже придется попытаться stty saneустановить переменную TERM ( export TERM=linuxкак правило, мне легче всего это запомнить)
Drake Clarris
Какая версия? Последний (октябрьский выпуск) кажется нормальным, по крайней мере, по ssh.
ergosys 21.12.12

Ответы:

19

Пакет по умолчанию vim-tiny. Вы можете установить более знакомую версию:

sudo apt-get install vim

Дополнительные настройки и настройки могут быть размещены в .vimrcфайле в вашем домашнем каталоге.

Берт
источник
Спасибо дружище! Как раз тогда, когда я думал, что надежды больше нет, ты спас день :)
Брэд Хейн
1

У меня также была эта проблема, когда я вошел в систему как пользователь root, но не как пользователь pi. Я также установил vim с:

apt-get install vim

Это не решило проблему в одиночку, но немного покопалось, и я обнаружил, что это были некоторые различия в переменных среды. Мне удалось получить мое счастливое поведение vi, заключающееся в возможности перемещаться с помощью клавиш курсора даже в режиме вставки, просто изменив файл /root/.profile следующим образом:

if [ -n "$BASH_VERSION" ]; then
  if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
  fi
fi

if [ -d "$HOME/bin" ] ; then
  PATH="$HOME/bin:$PATH"
fi
Тайлер Б
источник
1

Удалите и очистите vim-tiny перед установкой vim. После этого все будет работать как положено.

user17506
источник
Пришлось и это сделать. vim-tiny и vim, похоже, зависят от разных версий vim-common, и это мешает мне установить обе версии.
qznc