vi: command not found

Have You tried accessing the binary with the full path?

Maybe Your $PATH variable doesn't contain the default paths? echo $PATH should give something like:

[root@server ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

If it's empty, You may set the PATH variable with this command

export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"

On CentOS possible default full paths are:

/bin/vi - from package: vim-minimal

You may install the required package with command yum install {package}

On Debian possible default full paths are:

/bin/vi - from package: elvis-tiny

You may install the required package with command apt-get install {package}
Error in other languages:
vi: bevel nie gevind nie
vi: comandă negăsită
vi: comando não encontrado
vi: commande introuvable
vi: command not found
vi: käsku ei ole
vi: không tìm thấy lệnh
vi: komanda nerasta
vi: Kommando nicht gefunden.
vi: kommandot finns inte
vi: komut yok
vi: nie znaleziono polecenia
vi: níor aimsíodh an t-ordú
vi: no se encontró la orden
vi: no s'ha trobat l'ordre
vi: opdracht niet gevonden
vi: parancs nem található
vi: perintah tidak ditemukan
vi: príkaz nenájdený
vi: příkaz nenalezen
vi: команда не найдена
vi: командата не е открита
vi: 命令找不到
vi: コマンドが見つかりません