Em sistemas baseados no Debian, o sistema de alternativas manipula o executável vi
e vim
o. Então, se vim
está instalado e você executa vi
, você também recebe vim
, o que acho muito bom, porque eu odeio absolutamente o clássico vi
.
No Fedora 17 "Beefy Miracle", o sistema de alternativas obviamente não lida com nenhum dos dois. Mas há um arquivo de perfil no /etc/profile.d/vim.sh
qual adiciona um alias de shell para vi
executar vim
. Por alguma razão, isso não ocorre para usuários do sistema, incluindo root.
Mas mesmo que eu configure um alias manualmente para todos os usuários, quando ligo sudo vi
, estou começando o clássico em vi
vez de vim
. 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 vi
completamente o 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
Fedora 17? Ou existe ainda uma maneira melhor?
Atualização : Com yum provides vi
eu descobri que vi
é fornecido pelo pacote vim-minimal
. Mas não posso simplesmente removê-lo porque ele remove automaticamente o pacote sudo
. Mesmo se eu removê-lo e tentar instalar sudo
novamente depois, ele vim-minimal
será novamente instalado como dependência.
Atualização : conforme solicitado, 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
rm /usr/bin/vi; ln -s /usr/bin/vim /usr/bin/vi
. Não é uma resposta, porque eu pessoalmente encontraria uma maneira melhor (ou digite vim, se quisesse).vim-minimal
pacote for atualizado?/usr/bin/vi
um link simbólico (para quê) ou um arquivo regular no Fedora? Se um arquivo regular, de qual pacote?ls -l /usr/bin/vi
erpm -qf /usr/bin/vi
.Respostas:
Você
vi
é o Vim, mas invocado comovi
, portanto, ele entra no modo de compatibilidade histórica. A ação recomendada é que, se você deseja executar o Vim e não o vi, executevim
e nãovi
. No entanto, se você desejavi
sempre executar o Vim em todas as contas do sistema, substitua-o em/usr/local/bin
:fonte
sudo ln -s /usr/bin/vim /usr/local/bin/vi
. Mas você precisa adicionar/usr/local/bin
ao lado esquerdo daDefaults secure_path="…"
configuraçãovisudo
, caso contrário, o link simbólico não será encontrado.cat >/usr/local/bin/vi
(nãocat >/usr/local/bin
)? Você quis dizerchmod 755 /usr/local/bin/vi
(não.../vim
)?/usr/local/sbin/vi
.# echo 'alias vi="vim"' >> /etc/bashrc'
ou# alternatives --install /usr/bin/vi vi /usr/bin/vim 900
fonte
vim-minimal
pacote é atualizado?.bashrc
uma boa pratice ... para mim @llua deu uma resposta boaPara sua informação, o fedora recente (pelo menos desde 18) instala esse apelido globalmente de
/etc/profile.d
uma só vezvim-enchanced
.fonte