Vim zamiast Vi


29

Chłopaki, czy ktoś wie, jak zmienić edytor konsoli Linux z vi na vim za każdym razem, gdy uruchamiamy vi? Używam Ubuntu i Fedory Core


2
Ciekawe: co Linux dist. czy to? Nie mogę sobie przypomnieć, żeby kiedykolwiek widziałem starą szkołę Vi jako domyślną.
Brian Rasmussen

2
W rzeczywistości jest bardzo mało prawdopodobne, aby był vi, ponieważ nie byłby to kod FOSS.

Z pamięci wynika, że ​​niektóre dystrybucje (myślę, że to RHEL), skonfigurowali polecenie vido trybu klasycznego w VIM.
Seh Hui Leong,

4
Po co wykonywać vi, jeśli wolisz vima? eksport EDITOR = vim?
Tadeusz A. Kadłubowski

Arch ma także domyślnie klon „vi” zamiast vim.
WhyNotHugo

Odpowiedzi:


34

Po pierwsze, upewnij się, że masz zainstalowane odpowiednie pakiety Vima. Domyślnie w wielu systemach jest zainstalowanie minimalnego pakietu Vima, który jest bliższy Vi pod względem funkcjonalności.

W systemach opartych na Red Hat (RHEL, CentOS, Fedora) potrzebujesz pakietu ulepszonego vim, na przykład z systemu CentOS, który zainstalowałem:

vim-common-7.0.109-4.el5_2.4z
vim-enhanced-7.0.109-4.el5_2.4z
vim-minimal-7.0.109-4.el5_2.4z

„common” zawiera wspólne biblioteki używane przez wszystkie pakiety Vima. „minimalna” to pliki wykonywalne zwykłego edytora vi, instalowane domyślnie.

W systemach opartych na Debianie (takich jak Ubuntu) potrzebujesz 'vim'. Na przykład:

ii  vim                  2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor
ii  vim-common           2:7.2.079-1ubuntu5  Vi IMproved - Common files
ii  vim-runtime          2:7.2.079-1ubuntu5  Vi IMproved - Runtime files
ii  vim-tiny             2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor - compact version

Powinny być instalowane domyślnie. W systemie Debian / Ubuntu możesz zaktualizować domyślny edytor systemu dla wszystkich użytkowników:

sudo update-alternatives --config vi

Wybierz żądaną wersję z menu wyboru. Jednak skrypty po instalacji dla pakietu vim powinny już to zaktualizować. Służy --config editordo zmiany domyślnego edytora dla wszystkich użytkowników w systemie (na przykład oryginalnym domyślnym systemem Ubuntu 9.04 jest nano).

Wreszcie, dla poszczególnych użytkowników dla dowolnej dystrybucji, skonfiguruj alias w profilu użytkownika. Na przykład, jeśli powłoką jest bash, edytuj ~ nazwa użytkownika / .bashrc:

alias vi="vim"

Możesz także sprawdzić vimrc systemu (zazwyczaj / etc / vimrc), aby sprawdzić, czy tryb zgodności jest włączony.

set cp
set compatibility

Powie Vimowi, aby zachowywał się bardziej jak oldskulowa Vi, bez względu na to, jak poradziłeś sobie z Vimem powyżej. Zmień na „nocp” lub „nocompatibility”, aby Vim był bardziej przydatny.


2
W najnowszych wersjach Ubuntu domyślnie instalowany jest tylko vim-tiny. Zainstaluj vim, aby uzyskać pełną wersję.
Hamish Downer

28

W twoim .bashrc:

alias vi=vim

2
Nie wpłynie to na nic, co nie korzysta z bash, np. Kiedy naciśniesz „v” wewnątrz less (1), nadal będzie działał „prawdziwy” vi.
Kevin Panko

2
Zmienne środowiskowe EDITORi VISUALbędą miały pierwszeństwo po naciśnięciu vdomyślnego vipolecenia. Tak więc w .bashrceksporcie EDITORlub VISUALz vimjego wartością; na przykład, export EDITOR=vima export VISUAL=vimw swojej.bashrc
Nitrodist

10

Jeśli jest to system Debian lub Ubuntu i chcesz update-alternativesrozszerzyć system zmian, powinieneś go użyć (określ z --config editoropcjami, a powinieneś być złoty)


9

Jeśli potrzebujesz zmian tylko dla swojego identyfikatora i podczas sesji terminalowej: alias vi vim, zgodnie z sugestią AI.

Jeśli chcesz zmiany systemowej na swoim komputerze, soft-link do vima w / usr / local / bin :

sudo ln -s `which vim` /usr/local/bin/vi

Uwaga: Programy mogą ignorować aliasy na vi, uruchamiając command vilub \vizamiast po prostu vi.


3

Niektóre dists używają trybu starej szkoły vim: s, w którym zachowuje się jak vi.

sprawdź, czy Twój .vimrc zawiera

set nocompatible

Oszukałem to kilka razy ...


1

W systemach Debian, gdy uruchamiasz domyślny vim-malutki jako „vi”, używany jest inny plik RC - /etc/vim/vimrc.tiny.

Aby „vi” działało bardziej jak „vim”, edytuj /etc/vim/vimrc.tiny i zmień wiersz:

set compatible

czytać:

set nocompatible

0

Zrobiłem to tak, że .profilena użyciu :

if [ -f "/usr/bin/vim" ];
 alias vi="vim"
else
 alias vim="vi"
fi

export EDITOR=vim

Więc zawsze jest tam poprawnie lub jako .


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.