💾 Archived View for gemini.susa.net › Vim › vim-faq.txt captured on 2023-09-28 at 15:52:45.
⬅️ Previous capture (2021-11-30)
-=-=-=-=-=-=-
vim_faq.txt Frequently Asked Questions Last updated on: 05 September 2018 VIM FAQ by: Christian Brabandt <cb@256bit.org> Frequently Asked Questions vim-faq Vim-FAQ This Vim FAQ is created from the questions and answers posted to the vim@vim.org user mailing list and the comp.editors newsgroup. There are several ways to solve a problem in Vim. This FAQ gives one of those several possibilities. You can explore the other ways using the information and links given in this FAQ. The credit for the answers in this FAQ goes to Peppe, Benji, Charles Campbell and numerous others. An online version of this FAQ is available at https://vimhelp.appspot.com/vim_faq.txt.html faq-index INDEX faq-general-information SECTION 1 - GENERAL INFORMATION faq-1.1 What is Vim? faq-1.2 Who wrote Vim? faq-1.3 Is Vim compatible with Vi? faq-1.4 What are some of the improvements of Vim over Vi? faq-1.5 Is Vim free? faq-resources SECTION 2 - RESOURCES faq-2.1 Where can I learn more about Vim? faq-2.2 Is there a mailing list available? faq-2.3 Is there an archive available for the Vim mailing lists? faq-2.4 Where can I get the Vim user manual in HTML/PDF/PS format? faq-2.5 I have a "xyz" (some) problem with Vim. How do I determine if it is a problem with my setup or with Vim? faq-2.6 Where can I report bugs? faq-2.7 Where can the FAQ be found? faq-2.8 What if I don't find an answer in this FAQ? faq-2.9 I have a patch for implementing a Vim feature. Where do I send the patch? faq-2.10 I have a Vim tip or developed a new Vim syntax/indent/filetype/compiler plugin or developed a new script or a colorscheme. Is there a public website where I can upload this? faq-availability SECTION 3 - AVAILABILITY faq-3.1 What is the latest version of Vim? faq-3.2 Where can I find the latest version of Vim? faq-3.3 What platforms does it run on? faq-3.4 Where can I download the latest version of the Vim runtime files? faq-help SECTION 4 - HELP faq-4.1 How do I use the help files? faq-4.2 How do I search for a keyword in the Vim help files? faq-4.3 I am getting an error message E123, what did I do wrong? faq-4.4 Where can I read about the various modes in Vim? faq-4.5 How do I generate the Vim help tags file after adding a new Vim help file? faq-4.6 Can I use compressed versions of the help files? faq-editing-a-file SECTION 5 - EDITING A FILE faq-5.1 How do I load a file in Vim for editing? faq-5.2 How do I save the current file in another name (save as) and edit a new file? faq-5.3 How do I change the current directory to the directory of the current file? faq-5.4 How do I write a file without the line feed (EOL) at the end of the file? faq-5.5 How do I configure Vim to open a file at the last edited location? faq-5.6 When editing a file in Vim, which is being changed by an external application, Vim opens a warning window (like the confirm dialog) each time a change is detected. How do I disable this warning? faq-5.7 How do I edit a file whose name is under the cursor? faq-5.8 How do I reload/re-edit the current file? faq-5.9 How do I autosave a file periodically? faq-5.10 How do I open a file in read-only mode? faq-5.11 How do I open a file for editing without saving the modifications to the current file? faq-5.12 How do I reduce the loading time for very large files in Vim? faq-editing-multiple-files SECTION 6 - EDITING MULTIPLE FILES faq-6.1 How do I open multiple files at once from within Vim? faq-6.2 How do I switch between multiple files/buffers in Vim? faq-6.3 How do I open several files in Vim, with each file in a separate window/tabpage? faq-6.4 How do I configure Vim to autoload several files at once similar to "work-sets" or "projects"? faq-6.5 Is it possible to open multiple top level windows in a single instance of Vim similar to Nedit or emacs? faq-6.6 How do I browse/explore directories from within Vim? faq-6.7 How do I edit files over a network using ftp/scp/rcp/http? faq-backup SECTION 7 - BACKUP faq-7.1 When I edit and save files, Vim creates a file with the same name as the original file and a "~" character at the end. How do I stop Vim from creating this file (or) How do I disable the Vim backup file feature? faq-7.2 When I edit and save files, Vim creates a file with the same name as the original file and a ".un~" extension at the end. How do I stop Vim from creating this file (or) How do I disable the Vim undofile feature. faq-7.3 How do I configure Vim to store all the backup files in a particular directory? faq-7.4 When I save a file with Vim, the file permissions are changed. How do I configure Vim to save a file without changing the file permissions? faq-buffers SECTION 8 - BUFFERS faq-8.1 I have made some modifications to a buffer. How do I edit another buffer without saving the modified buffer and also without losing the modifications? faq-8.2 How do I configure Vim to auto-save a modified buffer when switching to another buffer? faq-8.3 How do I replace the buffer in the current window with a blank buffer? faq-8.4 Is there a keyboard shortcut to load a buffer by the buffer number? faq-8.5 How do I open all the current buffers in separate windows? faq-8.6 How do I close (delete) a buffer without exiting Vim? faq-8.7 When I use the command ":%bd" to delete all the buffers, not all the buffers are deleted. Why? faq-8.8 How do I display the buffer number of the current buffer/file? faq-8.9 How do I delete a buffer without closing the window in which the buffer is displayed? faq-8.10 How do I map the tab key to cycle through and open all the buffers? faq-windows SECTION 9 - WINDOWS faq-9.1 What is the difference between a Vim window and a buffer? faq-9.2 How do I increase the width of a Vim window? faq-9.3 How do I zoom into or out of a window? faq-9.4 How do I execute an ex command on all the open buffers or open windows or all the files in the argument list? faq-motion SECTION 10 - MOTION faq-10.1 How do I jump to the beginning (first line) or end (last line) of a file? faq-10.2 In insert mode, when I press the <Esc> key to go to command mode, the cursor moves one character to the left (except when the cursor is on the first character of the line). Is it possible to change this behavior to keep the cursor at the same column? faq-10.3 How do I configure Vim to maintain the horizontal cursor position when scrolling with the <Page Up>, <Page Down>, etc keys? faq-10.4 Some lines in a file are more than the screen width and they are all wrapped. When I use the j, k keys to move from one line to the next, the cursor is moved to the next line in the file instead of the next line on the screen. How do I move from one screen line to the next? faq-10.5 What is the definition of a sentence, paragraph and section in Vim? faq-10.6 How do I jump to beginning or end of a sentence, paragraph or a section? faq-10.7 I have lines in a file that extends beyond the right extent of the screen. How do I move the Vim view to the right to see the text off the screen? faq-10.8 How do I scroll two or more buffers simultaneously? faq-10.9 When I use my arrow keys, Vim changes modes, inserts weird characters in my document but doesn't move the cursor properly. What's going on? faq-10.10 How do I configure Vim to move the cursor to the end of the previous line, when the left arrow key is pressed and the cursor is currently at the beginning of a line? faq-10.11 How do I configure Vim to stay only in insert mode (modeless editing)? faq-10.12 How do I display some context lines when scrolling text? faq-10.13 How do I go back to previous cursor locations? faq-searching-text SECTION 11 - SEARCHING TEXT faq-11.1 After I searched for a text with a pattern, all the matched text stays highlighted. How do I turn off the highlighting temporarily/permanently? faq-11.2 How do I enter a carriage return character in a search pattern? faq-11.3 How do I search for the character ^M? faq-11.4 How can I search/replace characters that display as '~R', '~S', etc.? faq-11.5 How do I highlight all the non-printable characters in a file? faq-11.6 How do I search for whole words in a file? faq-11.7 How do I search for the current word under the cursor? faq-11.8 How do I search for a word without regard to the case (uppercase or lowercase)? faq-11.9 How do I search for words that occur twice consecutively? faq-11.10 How do I count the number of times a particular word occurs in a buffer? faq-11.11 How do I place the cursor at the end of the matched word when searching for a pattern? faq-11.12 How do I search for an empty line? faq-11.13 How do I search for a line containing only a single character? faq-11.14 How do I search and replace a string in multiple files? faq-11.15 I am using the ":s" substitute command in a mapping. When a search for a pattern fails, the map terminates. I would like the map to continue processing the next command, even if the substitute command fails. How do I do this? faq-11.16 How do I search for the n-th occurrence of a character in a line? faq-11.17 How do I replace a tab (or any other character) with a hard return (newline) character? faq-11.18 How do I search for a character by its ASCII value? faq-11.19 How do I search for long lines? faq-11.20 How do I display all the lines in the current buffer that contain a specified pattern? faq-11.21 How do I search for a text string that spans multiple lines? faq-11.22 How do I search for a pattern only within a range of lines in a buffer? faq-11.23 How do I clear the last searched pattern? faq-11.24 Why does this pattern 'a.\{-}p\@!' not match? faq-11.25 How can I use '/' within a pattern, without escaping it? faq-11.26 How can I operate on a search match? faq-changing-text SECTION 12 - CHANGING TEXT faq-12.1 How do I delete all the trailing white space characters (SPACE and TAB) at the end of all the lines in a file? faq-12.2 How do I replace all the occurrences of multiple consecutive space characters to a single space? faq-12.3 How do I reduce a range of empty lines into one line only? faq-12.4 How do I delete all blank lines in a file? How do I remove all the lines containing only space characters? faq-12.5 How do I copy/yank the current word? faq-12.6 How do I yank text from one position to another position within a line, without yanking the entire line? faq-12.7 When I yank some text into a register, how do I append the text to the current contents of the register? faq-12.8 How do I yank a complete sentence that spans over more than one line? faq-12.9 How do I yank all the lines containing a pattern into a buffer? faq-12.10 How do I delete all the lines in a file that do not contain a pattern? faq-12.11 How do I add a line before each line with "pattern" in it? faq-12.12 Is there a way to operate on a line if the previous line contains a particular pattern? faq-12.13 How do I execute a command on all the lines containing a pattern? faq-12.14 Can I copy the character above the cursor to the current cursor position? faq-12.15 How do I insert a blank line above/below the current line without entering insert mode? faq-12.16 How do I insert the name of the current file into the current buffer? faq-12.17 How do I insert the contents of a Vim register into the current buffer? faq-12.18 How do I move the cursor past the end of line and insert some characters at some columns after the end of the line? faq-12.19 How to replace the word under the cursor (say: junk) with "foojunkbar" in Vim? faq-12.20 How do I replace a particular text in all the files in a directory? faq-12.21 I have some numbers in a file. How do I increment or decrement the numbers in the file? faq-12.22 How do I reuse the last used search pattern in a ":substitute" command? faq-12.23 How do I change the case of a string using the ":substitute" command? faq-12.24 How do I enter characters that are not present in the keyboard? faq-12.25 Is there a command to remove any or all digraphs? faq-12.26 In insert mode, when I press the backspace key, it erases only the characters entered in this instance of insert mode. How do I erase previously entered characters in insert mode using the backspace key? faq-12.27 I have a file which has lines longer than 72 characters terminated with "+" and wrapped to the next line. How can I quickly join the lines? faq-12.28 How do I paste characterwise yanked text into separate lines? faq-12.29 How do I change the case (uppercase, lowercase) of a word or a character or a block of text? faq-12.30 How do I enter ASCII characters that are not present in the keyboard? faq-12.31 How do I replace non-printable characters in a file? faq-12.32 How do I remove duplicate lines from a buffer? faq-12.33 How do I prefix all the lines in a file with the corresponding line numbers? faq-12.34 How do I exchange (swap) two characters or words or lines? faq-12.35 How do I change the characters used as word delimiters? faq-completion-in-insert-mode SECTION 13 - COMPLETION IN INSERT MODE faq-13.1 How do I complete words or lines in insert mode? faq-13.2 How do I complete file names in insert mode? faq-13.3 I am using CTRL-P/CTRL-N to complete words in insert mode. How do I complete words that occur after the just completed word? faq-text-formatting SECTION 14 - TEXT FORMATTING faq-14.1 How do I format a text paragraph so that a new line is inserted at the end of each wrapped line? faq-14.2 How do I format long lines in a file so that each line contains less than 'n' characters? faq-14.3 How do I join short lines to the form a paragraph? faq-14.4 How do I format bulleted and numbered lists? faq-14.5 How do I indent lines in insert mode? faq-14.6 How do I format/indent an entire file? faq-14.7 How do I increase or decrease the indentation of the current line? faq-14.8 How do I indent a block/group of lines? faq-14.9 When I indent lines using the > or < key, the standard 8-tabstops are used instead of the current 'tabstop' setting. Why? faq-14.10 How do I turn off the automatic indentation of text? faq-14.11 How do I configure Vim to automatically set the 'textwidth' option to a particular value when I edit mails? faq-14.12 Is there a way to make Vim auto-magically break lines? faq-14.13 I am seeing a lot of ^M symbols in my file. I tried setting the 'fileformat' option to 'dos' and then 'unix' and then 'mac'. None of these helped. How can I hide these symbols? faq-14.14 When I paste some text into a Vim buffer from another application, the alignment (indentation) of the new text is messed up. How do I fix this? faq-14.15 When there is a very long wrapped line (wrap is "on") and a line doesn't fit entirely on the screen it is not displayed at all. There are blank lines beginning with '@' symbol instead of wrapped line. If I scroll the screen to fit the line the '@' symbols disappear and the line is displayed again. What Vim setting control this behavior? faq-14.16 How do I convert all the tab characters in a file to space characters? faq-14.17 What Vim options can I use to edit text that will later go to a word processor? faq-14.18 How do I join lines without adding or removing any space characters? faq-visual-mode SECTION 15 - VISUAL MODE faq-15.1 How do I do rectangular block copying? faq-15.2 How do I delete or change a column of text in a file? faq-15.3 How do I apply an ex-command on a set of visually selected lines? faq-15.4 How do I execute an ex command on a column of text selected in Visual block mode? faq-15.5 How do I select the entire file in visual mode? faq-15.6 When I visually select a set of lines and press the > key to indent the selected lines, the visual mode ends. How can I reselect the region for further operation? (or) How do I re-select the last selected visual area again? faq-15.7 How do I jump to the beginning/end of a visually selected region? faq-15.8 When I select text with mouse and then press : to enter an ex command, the selected text is replaced with the : character. How do I execute an ex command on a text selected using the mouse similar to the text selected using the visual mode? faq-15.9 When I select a block of text using the mouse, Vim goes into selection mode instead of Visual mode. Why? faq-command-line-mode SECTION 16 - COMMAND-LINE MODE faq-16.1 How do I use the name of the current file in the command mode or an ex command line? faq-16.2 How do I edit the text in the Vim command-line effectively? faq-16.3 How do I switch from Vi mode to Ex mode? faq-16.4 How do I copy the output from an ex-command into a buffer? faq-16.5 When I press the tab key to complete the name of a file in the command mode, if there are more than one matching file names, then Vim completes the first matching file name and displays a list of all matching filenames. How do I configure Vim to only display the list of all the matching filenames and not complete the first one? faq-16.6 How do I copy text from a buffer to the command line and from the command line to a buffer? faq-16.7 How do I put a command onto the command history without executing it? faq-16.8 How do I increase the height of the command-line? faq-viminfo SECTION 17 - VIMINFO faq-17.1 When I invoke Vim, I get error messages about illegal characters in the viminfo file. What should I do to get rid of these messages? faq-17.2 How do I disable the viminfo feature? faq-17.3 How do I save and use Vim marks/commands across Vim sessions? faq-remote-editing SECTION 18 - REMOTE EDITING faq-18.1 How do I open a file with existing instance of gvim? What happened to the Vim 5.x OpenWithVim.exe and SendToVim.exe files? faq-18.2 How do I send a command to a Vim server to write all buffers to disk? faq-18.3 Where can I get the documentation about the Vim remote server functionality? faq-options SECTION 19 - OPTIONS faq-19.1 How do I configure Vim in a simple way? faq-19.2 How do I toggle the value of an option? faq-19.3 How do I set an option that affects only the current buffer/window? faq-19.4 How do I use space characters for a Vim option value? faq-19.5 Can I add (embed) Vim option settings to the contents of a file? faq-19.6 How do I display the line numbers of all the lines in a file? faq-19.7 How do I change the width of the line numbers displayed using the "number" option? faq-19.8 How do I display (view) all the invisible characters like space, tabs and newlines in a file? faq-19.9 How do I configure Vim to always display the current line and column number? faq-19.10 How do I display the current Vim mode? faq-19.11 How do I configure Vim to show pending/partial commands on the status line? faq-19.12 How do I configure the Vim status line to display different settings/values? faq-19.13 How do I configure Vim to display status line always? faq-19.14 How do I make a Vim setting persistent across different Vim invocations/instances/sessions? faq-19.15 Why do I hear a beep (why does my window flash) about 1 second after I hit the Escape key? faq-19.16 How do I make the 'c' and 's' commands display a '