Dlaczego skróty klawiszowe Raspberry Pi vi są tak dziwaczne?

18

Czy zauważyłeś kiedyś, że domyślne przypisania viklawiszy Raspberry Pisą trochę zwariowane? Na przykład w trybie wstawiania spróbuj nawigować za pomocą klawiszy strzałek. Nie dzieje się :)

Czy to subtelny sposób zmuszenia nas do właściwego korzystania z trybu wstawiania i poleceń, a może powiązania zostały pominięte podczas tworzenia obrazu?

Jestem przyzwyczajony do pewnego mapowania kluczy w Fedorze / Debian, które pozwala na używanie klawiszy nawigacyjnych w trybie wstawiania. Aby uzyskać znane powiązania, do których jestem przyzwyczajony, czy muszę majstrować przy emulacji terminala lub jakimś pliku konfiguracyjnym?

Brad Hein
źródło
6
Oczekuję, że vimdzieje się tak dlatego, że jesteś do tego przyzwyczajony, a to, czego teraz doświadczasz, jest naprawdę vi. W nowoczesnych dystrybucjach vipolecenie jest często łączone syslink vim.
Jivings,
Czy to przez ssh? Być może będziesz musiał spróbować stty saneustawić swoją zmienną TERM ( export TERM=linuxzazwyczaj jest to dla mnie najłatwiejsze do zapamiętania)
Drake Clarris
Która wersja Najnowsza wersja (październikowa) wydaje się OK, przynajmniej na ssh.
ergosys,

Odpowiedzi:

19

Domyślny pakiet to vim-tiny. Możesz zainstalować bardziej znaną wersję:

sudo apt-get install vim

Dodatkową konfigurację i dostosowanie można umieścić w .vimrcpliku w katalogu domowym.

Bert
źródło
Dzięki stary! Właśnie gdy pomyślałem, że nie ma już nadziei, uratowałeś dzień :)
Brad Hein
1

Miałem również ten problem, gdy logowałem się jako użytkownik root, ale nie jako użytkownik pi. Zainstalowałem również vim z:

apt-get install vim

To nie rozwiązało go sam, ale trochę kopałem i odkryłem, że były to pewne różnice w zmiennych środowiskowych. Udało mi się uzyskać moje szczęśliwe zachowanie vi związane z możliwością poruszania się za pomocą klawiszy kursora, nawet w trybie wstawiania, po prostu zmieniając plik /root/.profile w następujący sposób:

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

if [ -d "$HOME/bin" ] ; then
  PATH="$HOME/bin:$PATH"
fi
Tyler B.
źródło
1

Usuń i wyczyść vim-tiny przed zainstalowaniem vima. Po tym będzie działać zgodnie z oczekiwaniami.

użytkownik17506
źródło
Musiałem to zrobić. vim-tiny i vim wydają się zależeć od różnych wersji vim-common, co uniemożliwia mi instalację obu.
qznc