Substitua globalmente Vi por Vim no Fedora

7

Em sistemas baseados em Debian, o sistema de alternativas lida com o executável vi e vim . Então, se vim estiver instalado e você executar vi , você também terá vim , o que eu acho muito legal, porque eu odeio o clássico vi .

No Fedora 17 "Beefy Miracle", o sistema de alternativas obviamente não suporta nenhum dos dois. Mas há um arquivo de perfil em /etc/profile.d/vim.sh , que adiciona um alias de shell para criar vi execute vim . Por alguma razão, isso não é feito para usuários do sistema, incluindo root.

Mas, mesmo que eu configure um alias para todos os usuários manualmente, quando eu chamar sudo vi , inicio o clássico vi em vez de vim . Isso é provavelmente porque o sudo não inicia um shell ou os arquivos de perfil são executados apenas em sessões de shell interativas.

O que estou procurando agora é uma maneira de desinstalar completamente o vi clássico para criar um link simbólico que até sobrevive às atualizações do sistema. Como posso remover o clássico vi mas não o vim no Fedora 17? Ou há ainda uma maneira melhor?

Atualizar : com yum provides vi , descobri que vi é fornecido pelo pacote vim-minimal . Mas não posso simplesmente removê-lo porque ele remove automaticamente o pacote sudo com ele. Mesmo se eu removê-lo e tentar instalar o sudo novamente, o vim-minimal será novamente instalado como dependência.

Atualizar : conforme solicitado, a saída de rpm -qf /usr/bin/vi :

vim-minimal-7.3.444-1.fc17.x86_64

e ls -l /usr/bin/vi :

-rwxr-xr-x. 1 root root 782248 13. Feb 2012  /usr/bin/vi
    
por aef 12.12.2012 / 01:44

3 respostas

6

Seu vi é Vim, mas chamado como vi , portanto, entra no modo de compatibilidade histórica. A ação recomendada é que, se você quiser executar o Vim e não o vi, execute vim e não vi . No entanto, se você quiser que vi sempre execute o Vim em todas as contas no sistema, substitua-o em /usr/local/bin :

cat >/usr/local/bin/vi <<\EOF
#!/bin/sh
exec /usr/bin/vim "$@"
EOF
chmod 755 /usr/local/bin/vi
    
por 13.12.2012 / 03:06
5

# echo 'alias vi="vim"' >> /etc/bashrc' ou # alternatives --install /usr/bin/vi vi /usr/bin/vim 900

    
por 12.12.2012 / 02:51
0

O fedora recente do FYI (pelo menos desde 18) instala esse alias gobally em /etc/profile.d once vim-enchanced instalado.

    
por 19.07.2016 / 17:03

Tags