diff --git a/README.md b/README.md
index 41a33e2..09ffd35 100644
--- a/README.md
+++ b/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
-
<leader>l
- | disable (search) highlighting |
+|keys|action|
+|----|----|
+|\l|disable (search) highlighting|
-##### Opened files navigation:
+#### Opened files navigation
-<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
- |
+|keys|action|
+|----|----|
+|\ m m| open minimap|
+|\ m c | close minimap|
+|\ m f | focus minimap|
+|Ctrl w w| Move to next splitted frame|
+|Ctrl w \ | 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
-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
- |
+|keys|action|
+|----|----|
+|Ctrl+t | Toggle file explorer when not focused on it|
+|f | Toggle filtering when focused on explorer|
+|\ 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
-<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
- |
+|keys|action|
+|----|----|
+|\ff |Find files|
+|\fg| Live grep|
+|\fb| Buffers|
+|\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
-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
- |
+|keys|action|
+|----|----|
+Ctrl+g show current code chunk changes
+|\hb | show full git blame of current line (double use to enter displayed diff)|
+|\hD |show splitted blame diff (double use to enter displayed diff)|
+|\hd| show splitted diff|
+|\hr| reset hunk|
+|\hR| reset whole buffer|
+|\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
-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
- |
+|||
+|----|----|
+|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
+|||
+|----|----|
+|\q | open list with diagnostics postions|
+|\e |open diagnostics floating window|
+|\[d | next diagnostic|
+|\] | previous diagnostic|
+|\k| open hoover box and enter it|
+|\rn |rename element (function name, etc)|
+|\f| format file|
+|gd |go to definition|
+|gD| go to declaration|
+|\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|
+|\wa |add workspace folder|
+|\wr |remove workspace folder|
+|\wl | list workspace folders |
-<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
- |
+#### LSP diagnostics (trouble.nvim)
-##### LSP diagnostics, etc:
+|||
+|----|----|
+|\xx| Open diagnostics window|
+|\xw |workspace diagnostics|
+|\xd |document diagnostics|
+|\xl| loclist|
+|\xq |quickfix|
+|gR | lsp references |
+#### Sessions
-<leader>xx
- | Open diagnostics window
- |
<leader>xw | workspace diagnostics
- |
<leader>xd | document diagnostics
- |
<leader>xl | loclist |
<leader>xq | quickfix |
gR
- | lsp references
- |
+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
-
-:Notifications
- | show recent notifications
- |
:Telescope notify
- | show recent notifications in telescope gui |
+|||
+|----|----|
+|:Notifications |show recent notifications|
+|:Telescope notify | show recent notifications in telescope gui|