bookmarks/cheat/vim.md

56 lines
2.0 KiB
Markdown
Raw Normal View History

2019-08-09 02:55:12 +00:00
### Remove trailing spaces
`:%s/\s\+$//e`
2019-08-09 02:58:57 +00:00
### Create a password-protected file using vim:
`vim -x ostechnix.txt`
### To remove the password, open the file using vim:
`vim ostechnix.txt`
And type:
`:set key=`
Finally type `:wq` to save and close the file.
2020-07-19 09:15:52 +00:00
### Indent the whole file in VIM ([Source](https://stackoverflow.com/questions/506075/how-do-i-fix-the-indentation-of-an-entire-file-in-vi))
`gg=G`
2020-07-13 16:32:05 +00:00
### Text selection ([Source](https://www.cs.swarthmore.edu/oldhelp/vim/selection.html))
```
V - selects entire lines
v - selects range of text
ctrl-v - selects columns
gv - reselect block
```
2020-07-19 09:15:52 +00:00
### Basics
* `:open FILE_PATH` : open a file
### Executing commands (shell)
use current buffer as input of a shell command
* `:%! grep hello` to search for all lines containing hello in the current buffer ([Source](https://superuser.com/a/1507327/453117))
### Window management
* `:tabe filename` to open a file in a new tab ([Source](https://unix.stackexchange.com/a/27587/220566))
* `gT` and `gt` can be used to switch between tabs ([Source](https://unix.stackexchange.com/a/27587/220566))
* `vim -p file1 file2` to open files in tabs ([Source](https://unix.stackexchange.com/questions/27586/how-can-i-edit-multiple-files-in-vim#comment37261_27587))
* `:sp [file]` or `Ctrl+W, s` : split the window (horizontally) ([Source](https://unix.stackexchange.com/a/27616/220566))
* `:vsp [file]` or `Ctrl+W, v` : split the window (vertically) ([Source](https://unix.stackexchange.com/a/27616/220566))
* `Ctrl+w, l` : move to the right window from the left ([Source](https://linuxhint.com/how-to-use-vim-split-screen/))
* `Ctrl+w, h` : move to the left window again ([Source](https://linuxhint.com/how-to-use-vim-split-screen/))
* To find more commands: [How To Use VIM Split Screen](https://linuxhint.com/how-to-use-vim-split-screen/)
### Buffer management
* `:bf` go to first file
* `:bn` go to next file
* `:bp` go to previous file
* `:bl` go to last file
* `:bw` close file
* `:help buffer` to find more information