spanskiblog/content/posts/VIM.md

73 lines
2.3 KiB
Markdown

+++
date="2023-02-04"
author="spanskiduh"
title="VIM"
description="click to read about VIM"
+++
# VIM
Comment Multiple Lines
- `:15,25s/^/#` ~ comment from line 15 to 25.
- `%s/foo/bar/g` ~ replace all apearances of `foo` with `bar` in whole file
- `s/foo//g` ~ delete all apearances of `foo` in a line
- `:[range]s/{pattern}/{string}/[flags] [count]` this is how it is structured out
### Navigation
- `hjkl` from now on use this keys
- `x[visual]` delete character at current pos
- `dw[visual]` delete a word
-- vimtutor 2.5
#### Nerdtree
- `s` - open horizontally
- `i` - open vertically
#### Panes
- `ctrl + w` - move through panes
- `ctrl + w s` - split horizontally
- `ctrl + w v` - split vertically
### Coc
#### code navigation
- `VISUAL over function name -> gd` ~ go to function definition
- `VISUAL over data type -> gy / gi` ~ go to type definition
- `VISUAL over function/ datatype -> K` ~ show documentation
- `INSERT -> ctl + space` ~ toggle autosuggestions
- `ctl + o` ~ return back
- `VISUAL gf` ~ go to file
- `ctl + o` ~ take me where i have bene before
- `ctrl + i` ~ take me forward
### Save
- `:sav file.txt` ~ save new file
- `:new file.txt` ~ create new file and open horizontally
- `:vsp file.txt` ~ create new file and open vertically
### Nvim tree mappings
` :help nvim-tree-default-mappings`
## Marks
Add mark with `ma`
And then list them with `:marks`
Select the mark with `'x` where x is the character thas is next to the mark listed using `:marks` command.
| Command | Description |
|:---------:|:-------------------------------------------------------------:|
| ma | set mark a at current cursor location |
| 'a | jump to line of mark a (first non-blank character in line) |
| `a | jump to position (line and column) of mark a |
| d'a | delete from current line to line of mark a |
| d`a | delete from current cursor position to position of mark a |
| c'a | change text from current line to line of mark a |
| y`a | yank text to unnamed buffer from cursor to position of mark a |
| :marks | list all the current marks |
| :marks aB | list marks a, B |