home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Learning the vi Editor

Learning the vi EditorSearch this book
Previous: D.1 Problems Opening Files Appendix D
Problem Checklist
Next: D.3 Problems Getting to Visual Mode
 

D.2 Problems Saving Files

  • You try to write your file, but you get one of the following messages:

    File exists
    File 
    file
     exists - use w!
    [Existing file]
    File is read only

    Type :w! file to overwrite the existing file, or type :w! newfile to save the edited version in a new file.

  • You want to write a file, but you don't have write permission for it. You get the message "Permission denied."

    Use :w! newfile to write out the buffer into a new file. If you have write permission for the directory, you can use mv to replace the original version with your copy of it. If you don't have write permission for the directory, type :w! pathname/file to write out the buffer to a directory in which you do have write permission (such as your home directory).

  • You try to write your file, but you get a message telling you that the file system is full.

    Type :!df to see whether there's any space on another file system. If there is, choose a directory on that file system and write your file to it with :w! pathname . (Starting an ex command with an exclamation point gives you access to UNIX, and df is the UNIX command to check a d isk's f ree space.)

  • The system puts you into open mode and tells you that the file system is full.

    The disk with vi 's temporary files is filled up. Type :!ls /tmp to see whether there are any files you can remove to gain some disk space. If there are, create a temporary UNIX shell from which you can remove files or issue other UNIX commands. You can create a shell by typing :sh ; type [CTRL-D] or exit to terminate the shell and return to vi . (On a Berkeley UNIX system, you can simply type [CTRL-Z] to suspend vi and return to the UNIX prompt; type % to return to vi .) Once you've freed up some space, write your file with :w! .

  • You try to write your file, but you get a message telling you that your disk quota has been reached.

    Try to force the system to save your buffer with the ex command :pre (short for :preserve ). If that doesn't work, look for some files to remove. Use :sh (or [CTRL-Z] if you are using a Berkeley system) to move out of vi and remove files. Use [CTRL-D] (or % ) to return to vi when you're done. Then write your file with :w! .


Previous: D.1 Problems Opening Files Learning the vi Editor Next: D.3 Problems Getting to Visual Mode
D.1 Problems Opening Files Book Index D.3 Problems Getting to Visual Mode

The UNIX CD Bookshelf Navigation The UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System