vi 7.2 e 7.3 não existem . Existe apenas vi 050325 e vim 7.2 , dois programas totalmente separados com recursos semelhantes. Se você quiser vim , digite vim
.
O motivo pelo qual o alias não funciona é porque os aliases são expandidos pelo seu shell, e o shell não sabe o que cada programa fará - ele vê " sudo
" como o comando e " vi myfile
" como argumentos e apenas tenta expandir a primeira palavra, " sudo
", sem ousar tocar nos argumentos.
Você pode dizer bash para expandir aliases seguindo certos comandos, adicionando um alias como: (note que o espaço entre aspas é obrigatório)
alias sudo="sudo "
O espaço informará que a primeira palavra após " sudo
" é um comando que deve ser expandido - por exemplo, "sudo vi ..."
para " sudo vim ...
" funcionará agora.
As respostas informando sobre /root/.bashrc
estão incorretas por vários motivos. Primeiro, sudo
executa o comando dado sem executar um shell. (Isso pode ser alterado usando sudo -s cmd
ou sudo -i cmd
, mas se nenhuma opção for dada, o comportamento padrão é executar o comando diretamente, sem um shell.)
Segundo, o bash expandirá apenas os aliases quando executado no modo interativo , não quando executado como bash -c cmd
, que é o que o sudo
usaria. (Novamente, isso pode ser alterado, mas a configuração padrão é apenas expandir aliases interativamente).