vi 7.2 и 7.3 не существует. Существует только vi 050325 и vim 7.2, две совершенно разные программы с похожими функциями. Если вы хотите vim, введите vim
.
Причина, по которой ваш псевдоним не работает, состоит в том, что псевдонимы расширяются вашей оболочкой, и оболочка не знает, что будет делать каждая программа, - она видит « sudo
» в качестве команды и « vi myfile
» в качестве аргументов и пытается только расширить первое слово, « sudo
», не осмеливаясь прикасаться к аргументам.
Вы можете сказать bash расширять псевдонимы, следуя определенным командам, добавив псевдоним, такой как: (обратите внимание, пробел внутри кавычек необходим)
alias sudo="sudo "
Пробел скажет bash, что первое слово после « sudo
» - это команда, которая должна быть развернута - например, "sudo vi ..."
для « sudo vim ...
» теперь будет работать.
Ответы о /root/.bashrc
неверны по нескольким причинам. Во-первых, sudo
выполняет данную команду без запуска оболочки. (Это можно изменить с помощью sudo -s cmd
или sudo -i cmd
, но если ни одна из этих опций не указана, по умолчанию выполняется команда напрямую, без оболочки.)
Во-вторых, bash будет расширять псевдонимы только при запуске в интерактивном режиме, а не при запуске с использованием команды bash -c cmd
, которую sudo
будет использовать. (Опять же, это можно изменить, но по умолчанию используется только интерактивное расширение псевдонимов.)