The "vi" editor is using the /tmp directory to place its buffer and whenever there is shortage of space there, vi is failing.
The solution below worked for me as a charm:
>cd my_directory
>vi
Inside vi:
:set directory=my_new_temp
:e file_name
where my_new_temp is a directory with enough disk space free and file_name is the name of the file to edit.