Por que o comando 'vi' abre o editor 'vim'?

3

Estou usando o Ubuntu 12.04. Não que eu esteja reclamando, pois gosto do meu vim e prefiro seus muitos recursos. No entanto, estou curioso para saber por que isso acontece. Não está com alias em .bashrc ou .bash_profile. Não tenho certeza de onde é obtido esse comportamento. Alguém poderia me explicar? E também, por curiosidade, é possível acionar o clássico vi ?

    
por G.Rassovsky 13.12.2014 / 17:35

3 respostas

6

Porque o Vim é um editor Open Source bem conservado e compatível com o vi, então é uma combinação perfeita para o Linux. Eu vi pela última vez implementações de puro "vi" em Unixes proprietários como SunOS, HP-UX, AIX; você pode ter "sorte" no BSD também. (Mas é claro que o Vim pode ser instalado também.)

No Ubuntu, o que é instalado por padrão é uma versão simplificada do Vim ( vim-tiny ); o suficiente para fazer edição no estilo vi. Os usuários do Real Vim geralmente instalam o pacote vim-gnome para uma instalação completa, incluindo o GVIM gráfico.

    
por 13.12.2014 / 19:32
6

vim é o sucessor de vi . Isso significa que o vi melhorou.

/usr/bin/vi é apenas um link simbólico para o vim. Você pode ver isso com:

ls -l /usr/bin/vi

Para iniciar o "vi clássico":

vim -u NONE myText.txt

Como funciona: o vim procura por um arquivo de configuração em ~/.vimrc , se este for encontrado, ele será executado como vim, a menos que a linha set compatible apareça em .vimrc. Para salvar a edição do .vimrc e adicionar essa linha, informamos ao vim para não se incomodar em procurar por .vimrc com a opção -u NONE .

Em vez do NONE , você poderia especificar um arquivo de configuração manuscrito diferente, mais adequado para configurar o vi (o vimrc frequentemente confunde o vi, já que ele pode conter adições modernas específicas do vim).

Quanto ao porquê vi é um symlink para vim, eu só ouvi as opiniões das pessoas. Alguns dizem que foi para permitir a execução de scripts antigos. Mas eu não acho que vi vi ou vim invocado em um script muito. Outros dizem que era para programadores programados digitarem o vi quando querem editar.

    
por 13.12.2014 / 19:51
3

Debian e Ubuntu usam um sistema onde links simbólicos são usados para apontar alternativas. Isso é gerenciado usando update-alternatives . ( man 8 update-altnernatives )

Você encontrará o /usr/bin/vi vinculado a /etc/alternatives/vi e isso é vinculado a algo como /usr/bin/vim.gnome .

O comando a seguir mostrará quais binários você instalou que fornecem a funcionalidade do vi:

sudo update-alternatives --list vi

Isso permitirá que você escolha um vi binário de forma interativa:

sudo update-alternatives --config vi

Isso permitirá que você escolha um manualmente, por exemplo:

sudo update-alternatives --set vi /usr/bin/nvi

Isso permitirá que você reverta para configurações automáticas:

sudo update-alternatives --auto vi

Como outros já disseram, o vim pode ser executado no modo de compatibilidade vi, mas há um clone do vi muito básico chamado nvi que você pode instalar também.

sudo apt-get install nvi
    
por 06.06.2015 / 02:01