This is not exhaustive or anything, just a memo.The simple of it:
's' means substitute. While it may also mean "search", the search command is usually a slash/, as in/searchabletext
:s/whatimlookingfor/whatshouldreplaceitThe slash separates the command, the searchable item, the replaceable item, and additional parameters.
To replace stuff throughout the whole file (or document), use the percent
% sign before s::%s/whatimlookingfor/whatshouldreplaceit:s/\&,/^M/gThis replaces commas across one (long or large) line with a newline (carriage return). Breakdown:
s/ — starts the substitute commandafter slash, enter search string
\& — all occurrences of desired search string within a line, — comma is what one is looking for/ — the next slash separates the search string from the replacement^M — newline (carriage return). in gVIM (for Windows), it's highlighted, as it's actually entered as <Ctrl+V> <enter>/g — replace till the end of line. Useful for if there's a huge amount of text in one line.If one wants carriage returns after a comma, use this:
:s/\&,/&^M/g — where the usually coloured (and special) carriage return symbol
^M follows the ampersand &. The ampersand is used to to add text: stuff before it is added before the searchable string; stuff added after the ampersand means that instead of deleting, stuff is added after the searchable string.Convenient.
:s/\&"\;/"/gHere it replaces all
" with normal quote characters "\& — all occurrences of search string within a line;"\; note that the semicolon is escaped.:s/\&description="/&\t\& — search in a line all instances ofdescription="/&\t — As stated above, the ampersand & is used to add stuff; in this instance, a tab \t is added after the searchable string.Turn highlight off
Like this
:nohlsearch^ Given that all searchable strings found are highlighted. But then it becomes somewhat annoying when proceeding to edit text after things are done. Instructions from the Vim wikia.
Or:
:noh16.04.2018:
Search for strings not containing a character (search with exclusions)
Search for a line not containing dots (periods):
/^[^\.]*$Breakdown:
/ — starts a search^ — start of a line[^stuff_to_be_excluded] — exclusion [^inside square brackets, starting with caron][^\.] — the dot is escaped with a backslash \* — wildcard for everything$ — end of a linePressing enter/return will get you to the nearest match (if any), and highlight other matches. Move to the next match with the
n key.
No comments:
Post a Comment