migrate README to pure markdown without html
This commit is contained in:
parent
64292f3f79
commit
bd96e4ed46
1 changed files with 131 additions and 138 deletions
269
README.md
269
README.md
|
@ -7,9 +7,10 @@ there can be some(read "a lot of") messy stuff.
|
|||
Much of this might have been selectively copy pasted from plugin repos.
|
||||
Those repos are obviously listed in plugin setup part.
|
||||
|
||||
# Basic usage of this config
|
||||
**Tested only with rootless podman, docker might require additional setup,
|
||||
or proper in-container user setup**
|
||||
|
||||
**Tested only with rootless podman, docker might require additional setup, or proper in-container user setup**
|
||||
## Basic usage of this config
|
||||
|
||||
### Host system Setup
|
||||
|
||||
|
@ -21,7 +22,13 @@ sudo dnf install -y \
|
|||
gnu-free-mono-fonts
|
||||
```
|
||||
|
||||
##### Image management:
|
||||
### Image management
|
||||
|
||||
get latest version from ghcr:
|
||||
|
||||
```bash
|
||||
podman pull ghcr.io/szwendacz99/neovim:latest
|
||||
```
|
||||
|
||||
build:
|
||||
|
||||
|
@ -33,7 +40,8 @@ podman build -t neovim ./nvim
|
|||
pack to file with high compression:
|
||||
|
||||
```bash
|
||||
podman save localhost/neovim:latest -o /dev/stdout | xz -z -T 8 -c > neovim$(date +"%Y-%m-%dT%H-%M").tar.xz
|
||||
podman save localhost/neovim:latest -o /dev/stdout | \
|
||||
xz -z -T 8 -c > neovim$(date +"%Y-%m-%dT%H-%M").tar.xz
|
||||
```
|
||||
|
||||
import file back to local registry:
|
||||
|
@ -42,8 +50,7 @@ import file back to local registry:
|
|||
podman load -i ./neovim.tar.xz
|
||||
```
|
||||
|
||||
##### Image usage examples
|
||||
|
||||
### Image usage examples
|
||||
|
||||
basic startup for editing current folder:
|
||||
|
||||
|
@ -87,7 +94,9 @@ function nvim() {
|
|||
|
||||
```
|
||||
|
||||
If there is need to make more persistent container that will also start with bash so you can install project dependencies and stuff, then use function below.
|
||||
If there is need to make more persistent container that will also start with
|
||||
bash so you can install project dependencies and stuff,
|
||||
then use function below.
|
||||
|
||||
```bash
|
||||
function nvim_project() {
|
||||
|
@ -122,31 +131,37 @@ function nvim_project() {
|
|||
|
||||
```
|
||||
|
||||
\*\*This container will not be removed on exit, you can reenter later with\*\*
|
||||
This container will not be removed on exit, you can reenter later with:
|
||||
|
||||
```bash
|
||||
podman start -ai {project/container name}
|
||||
```
|
||||
|
||||
##### Inside vim
|
||||
## Inside vim
|
||||
|
||||
```
|
||||
```vim
|
||||
# manage plugins:
|
||||
:Lazy
|
||||
```
|
||||
|
||||
There is need to make sure your system can display (almost) any unicode character. Hacked fonts may be needed for filetype icons but there is also need for a dedicated package with unicode fonts (like unifont-fonts.noarch) that will have every character missing from default font used in Neovim editor. Link to hacked fonts:
|
||||
There is need to make sure your system can display (almost) any unicode
|
||||
character. Hacked fonts may be needed for filetype icons but there is also
|
||||
need for a dedicated package with unicode fonts (like unifont-fonts.noarch)
|
||||
that will have every character missing from default font used in Neovim editor.
|
||||
Link to hacked fonts:
|
||||
[https://www.nerdfonts.com/font-downloads](https://www.nerdfonts.com/font-downloads)
|
||||
|
||||
#### General info
|
||||
### General info
|
||||
|
||||
##### Mason:
|
||||
#### Mason
|
||||
|
||||
Mason installs stuff in `.local/share/nvim/mason/packages` so they are independent from system stuff, like pip installed python packages. All that is saved in image, so that is why image is so heavy.
|
||||
Mason installs stuff in `.local/share/nvim/mason/packages` so they are
|
||||
independent from system stuff, like pip installed python packages.
|
||||
All that is saved in image, so that is why image is so heavy.
|
||||
|
||||
### Usage
|
||||
### Commands and keys
|
||||
|
||||
##### root perms when editing
|
||||
#### root perms when editing
|
||||
|
||||
```bash
|
||||
# Re-open a current file with sudo
|
||||
|
@ -162,92 +177,72 @@ Mason installs stuff in `.local/share/nvim/mason/packages` so they are independe
|
|||
:SudaWrite /etc/profile
|
||||
```
|
||||
|
||||
##### General
|
||||
#### General
|
||||
|
||||
<table border="1" id="bkmrk-%3Cleader%3El-disable-%28s" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td><leader>l
|
||||
</td><td>disable (search) highlighting</td></tr></tbody></table>
|
||||
|keys|action|
|
||||
|----|----|
|
||||
|\<leader\>l|disable (search) highlighting|
|
||||
|
||||
##### Opened files navigation:
|
||||
#### Opened files navigation
|
||||
|
||||
<table border="1" id="bkmrk-ctrl-w-%3Carrow%3E-movin" style="border-collapse: collapse; width: 100%; height: 506.6px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader> m m
|
||||
</td><td style="height: 29.8px;">open minimap
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader> m c
|
||||
</td><td style="height: 29.8px;">close minimap
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader> m f
|
||||
</td><td style="height: 29.8px;">focus minimap
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl w w
|
||||
</td><td style="height: 29.8px;">Move to next splitted frame
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl w <arrow>
|
||||
</td><td style="height: 29.8px;">moving throught splitted frame
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl w c
|
||||
</td><td style="height: 29.8px;">close split</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl w v
|
||||
</td><td style="height: 29.8px;">split vertically
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl w s
|
||||
</td><td style="height: 29.8px;">split horizontally
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl w x
|
||||
</td><td style="height: 29.8px;">swap places of two splits
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">gt</td><td style="height: 29.8px;">next tab</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">gT
|
||||
</td><td style="height: 29.8px;">previous tab
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">:tabnew
|
||||
</td><td style="height: 29.8px;">Create new tab
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl+g Ctrl+t
|
||||
</td><td style="height: 29.8px;">(when in file tree) open selected file in new tab
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">:bd
|
||||
</td><td style="height: 29.8px;">close buffer
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">:bnext
|
||||
</td><td style="height: 29.8px;">next buffer
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">:b3
|
||||
</td><td style="height: 29.8px;">switch to buffer 3
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">:buffers
|
||||
</td><td style="height: 29.8px;">list buffers and their numbers
|
||||
</td></tr></tbody></table>
|
||||
|keys|action|
|
||||
|----|----|
|
||||
|\<leader\> m m| open minimap|
|
||||
|\<leader\> m c | close minimap|
|
||||
|\<leader\> m f | focus minimap|
|
||||
|Ctrl w w| Move to next splitted frame|
|
||||
|Ctrl w \<arrow\> | moving throught splitted frame|
|
||||
|Ctrl w c | close split|
|
||||
|Ctrl w v | split vertically|
|
||||
|Ctrl w s| split horizontally|
|
||||
|Ctrl w x| swap places of two splits|
|
||||
|gt |next tab|
|
||||
|gT| previous tab|
|
||||
|:tabnew |Create new tab|
|
||||
|Ctrl+g Ctrl+t |(when in file tree) open selected file in new tab|
|
||||
|:bd | close buffer|
|
||||
|:bnext | next buffer|
|
||||
|:b3 |switch to buffer 3|
|
||||
|:buffers | list buffers and their numbers |
|
||||
|
||||
##### File explorer:
|
||||
#### File explorer
|
||||
|
||||
<table border="1" id="bkmrk-ctrl%2Bt-toggle-file-e" style="border-collapse: collapse; width: 100%; height: 327.8px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl+t
|
||||
</td><td style="height: 29.8px;">Toggle file explorer when not focused on it
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">f
|
||||
</td><td style="height: 29.8px;">Toggle filtering when focused on explorer
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader> n
|
||||
</td><td style="height: 29.8px;">Move focus to explorer
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">d
|
||||
</td><td style="height: 29.8px;">Delete selected file
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">rn
|
||||
</td><td style="height: 29.8px;">Rename file
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">c
|
||||
</td><td style="height: 29.8px;">add file to clipboard
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">p
|
||||
</td><td style="height: 29.8px;">paste (file) from clipboard
|
||||
</td></tr></tbody></table>
|
||||
|keys|action|
|
||||
|----|----|
|
||||
|Ctrl+t | Toggle file explorer when not focused on it|
|
||||
|f | Toggle filtering when focused on explorer|
|
||||
|\<leader\> n | Move focus to explorer|
|
||||
|d |Delete selected file|
|
||||
|rn |Rename file|
|
||||
|c |add file to clipboard|
|
||||
|p | paste (file) from clipboard |
|
||||
|
||||
##### File searching / Telescope
|
||||
#### File searching / Telescope
|
||||
|
||||
<table border="1" id="bkmrk-%3Cleader%3Eff-find-file" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td><leader>ff</td><td>Find files
|
||||
</td></tr><tr><td><leader>fg</td><td>Live grep
|
||||
</td></tr><tr><td><leader>fb</td><td>Buffers
|
||||
</td></tr><tr><td><leader>fh</td><td>Help tags</td></tr><tr><td>Ctrl+q</td><td>Open search result list as a dedicated split (quickfix list) (will overwrite previous one created this way in current tab)</td></tr><tr><td>Ctrl+u
|
||||
</td><td>Scroll preview up
|
||||
</td></tr><tr><td>Ctrl+d
|
||||
</td><td>Scroll preview down
|
||||
</td></tr><tr><td>Ctrl+x
|
||||
</td><td>Open selection as a split
|
||||
</td></tr><tr><td>Ctrl+v
|
||||
</td><td>Open selection as a vsplit
|
||||
</td></tr><tr><td>Ctrl+t
|
||||
</td><td>Open selection in new tab
|
||||
</td></tr></tbody></table>
|
||||
|keys|action|
|
||||
|----|----|
|
||||
|\<leader\>ff |Find files|
|
||||
|\<leader\>fg| Live grep|
|
||||
|\<leader\>fb| Buffers|
|
||||
|\<leader\>fh |Help tags|
|
||||
|Ctrl+q| Open search result list as a dedicated split (quickfix list) (will overwrite previous one created this way in current tab)|
|
||||
|Ctrl+u | Scroll preview up|
|
||||
|Ctrl+d | Scroll preview down|
|
||||
|Ctrl+x |Open selection as a split|
|
||||
|Ctrl+v | Open selection as a vsplit|
|
||||
|Ctrl+t | Open selection in new tab |
|
||||
|
||||
##### Git stuff
|
||||
#### Git stuff
|
||||
|
||||
<table border="1" id="bkmrk-ctrl%2Bs-show-current-" style="border-collapse: collapse; width: 100%; height: 208.6px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl+g
|
||||
</td><td style="height: 29.8px;">show current code chunk changes</td></tr><tr><td><leader>hb
|
||||
</td><td>show full git blame of current line (double use to enter displayed diff)
|
||||
</td></tr><tr><td><leader>hD</td><td>show splitted blame diff (double use to enter displayed diff)
|
||||
</td></tr><tr><td><leader>hd</td><td>show splitted diff</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>hr
|
||||
</td><td style="height: 29.8px;">reset hunk
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>hR</td><td style="height: 29.8px;">reset whole buffer
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>td</td><td style="height: 29.8px;">toggle deleted
|
||||
</td></tr></tbody></table>
|
||||
|keys|action|
|
||||
|----|----|
|
||||
Ctrl+g show current code chunk changes
|
||||
|\<leader\>hb | show full git blame of current line (double use to enter displayed diff)|
|
||||
|\<leader\>hD |show splitted blame diff (double use to enter displayed diff)|
|
||||
|\<leader\>hd| show splitted diff|
|
||||
|\<leader\>hr| reset hunk|
|
||||
|\<leader\>hR| reset whole buffer|
|
||||
|\<leader\>td| toggle deleted |
|
||||
|
||||
Genreal git commands:
|
||||
|
||||
|
@ -287,57 +282,55 @@ GitSings provides some commands for displaying git stuff:
|
|||
:Gitsigns toggle_signs
|
||||
```
|
||||
|
||||
##### Code editing stuff
|
||||
#### Code editing stuff
|
||||
|
||||
<table border="1" id="bkmrk-%3Cleader%3Ern-rename-el" style="border-collapse: collapse; width: 100%; height: 387.4px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td style="height: 29.8px;">w
|
||||
</td><td style="height: 29.8px;">jump forward by one word
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">b
|
||||
</td><td style="height: 29.8px;">jump backward by one word
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">:%s/^original.\*/replacement/gc
|
||||
</td><td style="height: 29.8px;">regex replacing (c is for choice prompt, its optional)
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl+q
|
||||
</td><td style="height: 29.8px;">Visual block select mode
|
||||
</td></tr></tbody></table>
|
||||
|||
|
||||
|----|----|
|
||||
|w|jump forward by one word|
|
||||
|b|jump backward by one word|
|
||||
|:%s/^original.\\\*/replacement/gc|regex replacing (c is for choice prompt, its optional)|
|
||||
|Ctrl+q|Visual block select mode|
|
||||
|
||||
##### LSP usage
|
||||
#### LSP usage
|
||||
|
||||
|||
|
||||
|----|----|
|
||||
|\<space\>q | open list with diagnostics postions|
|
||||
|\<space\>e |open diagnostics floating window|
|
||||
|\[d | next diagnostic|
|
||||
|\] | previous diagnostic|
|
||||
|\<leader\>k| open hoover box and enter it|
|
||||
|\<leader\>rn |rename element (function name, etc)|
|
||||
|\<leader\>f| format file|
|
||||
|gd |go to definition|
|
||||
|gD| go to declaration|
|
||||
|\<space\>D| go to type definition|
|
||||
|gi| go to implementation|
|
||||
|gr| go to references|
|
||||
|Ctrl+f |scroll down popup with docstring|
|
||||
|Ctrl+b |scroll up popup with docstring|
|
||||
|\<leader\>wa |add workspace folder|
|
||||
|\<leader\>wr |remove workspace folder|
|
||||
|\<leader\>wl | list workspace folders |
|
||||
|
||||
<table border="1" id="bkmrk-%3Cspace%3Eq-open-list-w" style="border-collapse: collapse; width: 100%; height: 476.8px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td style="height: 29.8px;"><space>q
|
||||
</td><td style="height: 29.8px;">open list with diagnostics postions
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><space>e
|
||||
</td><td style="height: 29.8px;">open diagnostics floating window
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">\[d
|
||||
</td><td style="height: 29.8px;">next diagnostic
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">\]
|
||||
</td><td style="height: 29.8px;">previous diagnostic
|
||||
</td></tr><tr><td><leader>k
|
||||
</td><td>open hoover box and enter it
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>rn</td><td style="height: 29.8px;">rename element (function name, etc):</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>f</td><td style="height: 29.8px;">format file
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">gd</td><td style="height: 29.8px;">go to definition</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">gD</td><td style="height: 29.8px;">go to declaration</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><space>D</td><td style="height: 29.8px;">go to type definition</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">gi</td><td style="height: 29.8px;">go to implementation</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">gr</td><td style="height: 29.8px;">go to references</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl+f</td><td style="height: 29.8px;">scroll down popup with docstring</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">Ctrl+b</td><td style="height: 29.8px;">scroll up popup with docstring</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>wa
|
||||
</td><td style="height: 29.8px;">add workspace folder</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>wr
|
||||
</td><td style="height: 29.8px;">remove workspace folder
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>wl
|
||||
</td><td style="height: 29.8px;">list workspace folders
|
||||
</td></tr></tbody></table>
|
||||
#### LSP diagnostics (trouble.nvim)
|
||||
|
||||
##### LSP diagnostics, etc:
|
||||
|||
|
||||
|----|----|
|
||||
|\<leader\>xx| Open diagnostics window|
|
||||
|\<leader\>xw |workspace diagnostics|
|
||||
|\<leader\>xd |document diagnostics|
|
||||
|\<leader\>xl| loclist|
|
||||
|\<leader\>xq |quickfix|
|
||||
|gR | lsp references |
|
||||
|
||||
#### Sessions
|
||||
|
||||
<table border="1" id="bkmrk-%3Cleader%3Exx-open-diag" style="border-collapse: collapse; width: 100%; height: 178.8px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>xx
|
||||
</td><td style="height: 29.8px;">Open diagnostics window
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>xw</td><td style="height: 29.8px;">workspace diagnostics
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>xd</td><td style="height: 29.8px;">document diagnostics
|
||||
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>xl</td><td style="height: 29.8px;">loclist</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;"><leader>xq</td><td style="height: 29.8px;">quickfix</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">gR
|
||||
</td><td style="height: 29.8px;">lsp references
|
||||
</td></tr></tbody></table>
|
||||
To save new session on specific path, just use :SaveSession, then when opening nvim there, without arguments, the session will be restored.
|
||||
|
||||
##### Sessions
|
||||
#### Notifications
|
||||
|
||||
To save **new** session on specific path, just use `:SaveSession`, then when opening nvim there, without arguments, the session will be restored.
|
||||
|
||||
##### Notifications
|
||||
|
||||
<table border="1" id="bkmrk-%3Anotifications-show-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>:Notifications
|
||||
</td><td>show recent notifications
|
||||
</td></tr><tr><td>:Telescope notify
|
||||
</td><td>show recent notifications in telescope gui</td></tr></tbody></table>
|
||||
|||
|
||||
|----|----|
|
||||
|:Notifications |show recent notifications|
|
||||
|:Telescope notify | show recent notifications in telescope gui|
|
||||
|
|
Loading…
Reference in a new issue