Difference between revisions of "Vi"
Jump to navigation
Jump to search
m |
|||
Line 28: | Line 28: | ||
;<nowiki>:%s/<oldstring>/<newstring>/g</nowiki> | ;<nowiki>:%s/<oldstring>/<newstring>/g</nowiki> | ||
:Replace <oldstring> with <newstring> in current document (g makes sure mulitple occurences on one line are replaced). | :Replace <oldstring> with <newstring> in current document (g makes sure mulitple occurences on one line are replaced). | ||
− | ;<nowiki>:%/^M$//</nowiki> | + | ;<nowiki>:%s/,/\r/g</nowiki> |
+ | :Replace all comma's with a newline | ||
+ | ;<nowiki>:%s/^M$//</nowiki> | ||
:do dos2unix (put in ^M using CTRL-V CTRL-M) | :do dos2unix (put in ^M using CTRL-V CTRL-M) | ||
;<nowiki>:1,2t3</nowiki> | ;<nowiki>:1,2t3</nowiki> |
Revision as of 14:52, 30 July 2020
If started as ´view´ the file is opened read-only, you can however write using :!w if you have write permissions on file-system level.
Always leave the file using :q or :n, vi will warn you if you have made unsaved changes. Don't exit using :!wq by default as I did, sometime you will save something you really don't want.
I found some good advise in this Cheat Sheet. A nice tutorial can be found on http://www.truth.sk/.
Selections
- :.
- Current line
- :3
- Line number 3
- :3,5
- Line 3 up to 5
- :%
- The whole file
- :+4
- 4 lines below current line
- :-5
- 5 lines above current line
- :$
- Last line in the file
You can combine these selections with most command-line (:) commands
Commandmode:
- :%s/<oldstring>/<newstring>/g
- Replace <oldstring> with <newstring> in current document (g makes sure mulitple occurences on one line are replaced).
- :%s/,/\r/g
- Replace all comma's with a newline
- :%s/^M$//
- do dos2unix (put in ^M using CTRL-V CTRL-M)
- :1,2t3
- Copy line 1 and 2 under line 3
- :1,3m6
- Move line 1 up to 3 to linel 6
- :set number
- Display line numbers
- :set ts=3
- Set tabstop to 3
- :.=
- Current linenumber
- :$=
- Last linenumber
- :n
- Goto next file (if editing multiple files)
- :se ic
- Search Case insensitive
- :%v/./d
- Delete all empty lines.
- Execute d (delete) for all lines not matching . (any character).
Screen edit mode
- /<string>
- Search forward for <string>
- ?<string>
- Search backward for <string>
- n
- Find next occurrence of <string>
- ^L
- Refresh screen.
- J
- Replace newline with space on the current line. Join current and next line with a space in between.
- O
- Go to input mode above current line.
- o
- Go to input mode under the current line.
- i
- Go to input mode (insert) on current position.
- a
- Go to input mode (add) after current position.
- %
- Jump to matching {, [ or (
- .
- Repeat last action