.SWP File Extension
File Type 1Vi Swap File
What is an SWP file?
Swap file created by the Vi text editor or one of its variants such as Vim (Vi iMproved) and gVim; stores the recovery version of a file that is being edited in the program; also serves as a lock file so that no other Vi editing session can concurrently write to the file.
SWP files are created immediately when a Vi text editing session is started, and they are saved to the same directory as their original file. For example, a text file with the name example.txt would have a swap file named .example.txt.swp.
If a Vi session terminates due to a program kill or crash, the SWP file still remains. This allows users to recover the data using the "(R)ecover" option when opening the original file. However, if you do not need to recover data, you can manually delete the SWP file so that the warning message stops appearing.
When trying to open a file that has a swap file, Vi provides the following message: "Swap file .example.txt.swp already exists!" (where example.txt is the file being opened). From this dialog, you can choose these options: 1) [O]pen Read-Only, 2) (E)dit, 3) (R)ecover, 4) (Q)uit, or 4) (A)bort.
NOTE: The original Vi editor was developed by Bill Joy, the co-founder of Sun Microsystems.
File Type 2Swap File
.SWP File Association 2
Swap file used by the virtual memory component of an operating system; contains data that has been swapped from memory to the hard disk; helps increase the amount of available memory to a computer; also helps make accessing commonly used data more efficient.
SWP files may be pre-allocated to a section of a hard disk during an operating system installation, or they may be created on-demand. For pre-allocation, the operating system can increase the amount of virtual memory by the size of the swap file.
Many operating systems implement a virtual memory scheme called Demand Paging. This scheme stores the swap file in "pages," which are swapped from the hard disk to memory on-demand. Demand paging may also attempt to anticipate which memory segments are likely to be used next and prefetch them.