Vim para substituir Vi

29

Gente, alguém sabe como mudar o editor de console linux do vi para o vim toda vez que executamos o vi? Estou usando o Ubuntu e o Fedora Core

Funky81
fonte
2
Apenas curioso: O Linux dist. é aquele? Não me lembro de ter visto um Vi da velha escola como padrão.
21711 Brian Rasmussen
2
De fato, é extremamente improvável que seja vi, pois esse não seria o código FOSS.
De memória é que algumas distribuições (eu acho que era RHEL), eles configuraram o comando vipara o modo clássico no VIM.
Seh Hui Leong
4
Por que executar o vi se você prefere o vim? exportar EDITOR = vim?
Tadeusz A. Kadłubowski
O Arch também possui um clone "vi" por padrão, em vez do vim.
WhyNotHugo

Respostas:

34

Primeiro, verifique se você possui os pacotes Vim adequados instalados. O padrão em muitos sistemas é instalar um pacote mínimo do Vim mais próximo do Vi na funcionalidade.

Nos sistemas baseados no Red Hat (RHEL, CentOS, Fedora), você precisa do pacote aprimorado para vim, por exemplo, de um sistema CentOS que eu instalei:

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' contém bibliotecas comuns usadas por todos os pacotes do Vim. 'minimal' são os executáveis ​​simples do editor vi, conforme instalados por padrão.

Nos sistemas baseados no Debian (como o Ubuntu), você precisa do 'vim'. Por exemplo:

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

Estes devem ser instalados por padrão. No Debian / Ubuntu, você pode atualizar o editor do sistema padrão para todos os usuários:

sudo update-alternatives --config vi

Selecione a versão desejada no menu de seleção. Os scripts de pós-instalação para o pacote vim já devem ter atualizado isso. Use --config editorpara alterar o editor padrão para todos os usuários no sistema (o padrão original do Ubuntu 9.04 é nano, por exemplo).

Por fim, por usuário para qualquer distribuição, configure um alias no perfil do usuário. Por exemplo, se o shell for bash, edite ~ nome de usuário / .bashrc:

alias vi="vim"

Além disso, você pode verificar o sistema vimrc (/ etc / vimrc, geralmente) para ver se o modo de compatibilidade está ativado.

set cp
set compatibility

Dirá ao Vim para se comportar mais como o Vi da velha escola, não importa como você tenha lidado com o Vim acima. Mude para 'nocp' ou 'nocompatibility' para tornar o Vim mais útil.

jtimberman
fonte
2
Nas versões recentes do ubuntu, apenas o vim-tiny é instalado por padrão. Instale o vim para obter a versão completa.
11299 Hamish Downer
28

No seu .bashrc:

alias vi=vim
Al.
fonte
2
Isso não afetará nada que não esteja usando o bash, por exemplo, quando você pressionar "v" dentro de menos (1), ainda executará o vi "real".
21711 Kevin Panko
2
As variáveis ​​de ambiente EDITORe VISUALterão precedência quando você pressionar vo vicomando padrão . Então, na sua .bashrcexportação EDITORou VISUALcom vimo seu valor; por exemplo, export EDITOR=vime export VISUAL=vimem seu.bashrc
Nitrodist
10

Se é um sistema Debian ou Ubuntu, e você deseja tornar esse sistema de alterações amplo, você deve usar update-alternatives(especifique com as --config editoropções e deve ser dourado)

mwalling
fonte
9

Se você precisar das alterações apenas para seu ID e dentro de uma sessão do terminal: alias vi to vim, conforme sugerido pela AI.

Se você deseja uma alteração em todo o sistema em sua máquina, vincule o link ao vim em / usr / local / bin :

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

Nota: Os programas podem ignorar quaisquer aliases no vi executando command viou em \vivez de apenas vi.

Nagul
fonte
3

Alguns discos usam o modo old school do vim: s, onde se comporta como o vi.

verifique se o seu .vimrc contém

set nocompatible

Fui enganado por isso algumas vezes ...

Johan
fonte
1

Nos sistemas Debian, quando você executa o vim-tiny padrão como 'vi', um arquivo RC diferente é usado - /etc/vim/vimrc.tiny.

Para tornar o 'vi' mais parecido com o 'vim', edite o /etc/vim/vimrc.tiny e altere a linha:

set compatible

ler:

set nocompatible

fonte
0

Eu fiz isso .profileno usando o :

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

export EDITOR=vim

Portanto, o sempre existe, corretamente ou como .


fonte
0

Se você usa peixe , coloque a linha abaixo em ~/.config/fish/config.fish:

alias vi="vim"
Zhang Buzz
fonte