2015-12-28 12:06:58 +00:00
|
|
|
# vim
|
|
|
|
|
2016-10-06 11:19:06 +01:00
|
|
|
> Vi IMproved, a programmer's text editor, providing several modes for different kinds of text manipulation.
|
2016-10-12 04:28:22 +01:00
|
|
|
> Pressing `i` enters edit mode. `<Esc>` goes back to normal mode, which doesn't allow regular text insertion.
|
2015-12-28 12:06:58 +00:00
|
|
|
|
2016-10-06 11:19:06 +01:00
|
|
|
- Open a file:
|
2015-12-28 12:06:58 +00:00
|
|
|
|
2016-10-06 11:19:06 +01:00
|
|
|
`vim {{file}}`
|
2015-12-28 12:06:58 +00:00
|
|
|
|
2016-10-06 11:19:06 +01:00
|
|
|
- Enter text editing mode (insert mode):
|
2015-12-28 12:06:58 +00:00
|
|
|
|
2016-10-12 04:28:22 +01:00
|
|
|
`<Esc>i`
|
2015-12-28 12:06:58 +00:00
|
|
|
|
2016-10-06 11:19:06 +01:00
|
|
|
- Copy ("yank") or cut ("delete") the current line (paste it with `P`):
|
2015-12-28 12:06:58 +00:00
|
|
|
|
2016-10-12 04:28:22 +01:00
|
|
|
`<Esc>{{yy|dd}}`
|
2015-12-28 12:06:58 +00:00
|
|
|
|
2016-10-06 11:19:06 +01:00
|
|
|
- Undo the last operation:
|
2015-12-28 12:06:58 +00:00
|
|
|
|
2016-10-12 04:28:22 +01:00
|
|
|
`<Esc>u`
|
2015-12-29 17:09:30 +00:00
|
|
|
|
2016-10-12 04:28:22 +01:00
|
|
|
- Search for a pattern in the file (press `n`/`N` to go to next/previous match):
|
2015-12-29 17:09:30 +00:00
|
|
|
|
2016-10-12 04:28:22 +01:00
|
|
|
`<Esc>/{{search_pattern}}<Enter>`
|
2015-12-29 17:09:30 +00:00
|
|
|
|
2017-10-21 21:01:49 +01:00
|
|
|
- Perform a regex substitution in the whole file:
|
2016-01-05 22:07:51 +00:00
|
|
|
|
2017-10-19 18:27:18 +01:00
|
|
|
`<Esc>:%s/{{pattern}}/{{replacement}}/g<Enter>`
|
2015-12-29 17:09:30 +00:00
|
|
|
|
2016-10-12 04:28:22 +01:00
|
|
|
- Save (write) the file, and quit:
|
2016-01-05 22:07:51 +00:00
|
|
|
|
2016-10-12 04:28:22 +01:00
|
|
|
`<Esc>:wq<Enter>`
|
|
|
|
|
|
|
|
- Quit without saving:
|
|
|
|
|
|
|
|
`<Esc>:q!<Enter>`
|