Fandom

Vim Tips Wiki

Format pasted text automatically

1,624pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Tip 272 Printable Monobook Previous Next

created 2002 · complexity basic · author RobertKellyIV · version 6.0


If a user would like to paste text into a buffer and have that text indented properly so that the text matches surrounding indents, the following command can be given:

]p

Some users prefer to have all of their text pasted with indenting intact. In order to make this easier, the ]p command can be mapped to the p command, so that whenever p is used, ]p will be executed. The following can be added to the .vimrc to accomplish this:

:nnoremap p ]p
:nnoremap <c-p> p

This simply maps normal mode p to what ]p normally does. While ctrl+p now performs just p without the indenting functionality.

Correcting bad indent while pastingEdit

Unfortunately, the ]p command will only adjust indent to match the current line, it will not re-indent the pasted text to correct it according to your current indent rules. You can do this as well, using the special mark, `]. This will jump to the last character of the paste, so you could change the p mapping above to:

:nnoremap p p=`]

This takes advantage of the fact that a paste operation will place the cursor at the beginning of the inserted text, and uses the = operator to indent the entire inserted text.

ReferencesEdit

Related pluginsEdit

  • vim-pasta allows for pasting with automatic adjusting of indentation to destination context.

CommentsEdit

Also on Fandom

Random Wiki