nvim: sync latest dotfiles

main
sudo pacman -Syu 2023-09-23 12:34:27 +07:00
parent e0eb2c5483
commit 25b5ff72f9
3 changed files with 50 additions and 59 deletions

View File

@ -156,12 +156,7 @@
<pre>vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span class="pl-s"><span class="pl-pds">"</span>n<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>;<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>&lt;Leader&gt;<span class="pl-pds">"</span></span>, { remap <span class="pl-k">=</span> <span class="pl-c1">true</span> }) <pre>vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span class="pl-s"><span class="pl-pds">"</span>n<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>;<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>&lt;Leader&gt;<span class="pl-pds">"</span></span>, { remap <span class="pl-k">=</span> <span class="pl-c1">true</span> })
vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span class="pl-s"><span class="pl-pds">"</span>n<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>'<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>&lt;Leader&gt;<span class="pl-pds">"</span></span>, { remap <span class="pl-k">=</span> <span class="pl-c1">true</span> })</pre> vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span class="pl-s"><span class="pl-pds">"</span>n<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>'<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>&lt;Leader&gt;<span class="pl-pds">"</span></span>, { remap <span class="pl-k">=</span> <span class="pl-c1">true</span> })</pre>
</div> </div>
<p>Misc keymap:</p> <p>Ground rules:</p>
<div class="highlight highlight-source-lua">
<pre>vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span class="pl-s"><span class="pl-pds">"</span>n<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>n<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>nzz<span class="pl-pds">"</span></span>)
vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span class="pl-s"><span class="pl-pds">"</span>n<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>N<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>Nzz<span class="pl-pds">"</span></span>)
vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span class="pl-s"><span class="pl-pds">"</span>n<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>q<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>:q&lt;CR&gt;<span class="pl-pds">"</span></span>)</pre>
</div>
<ul> <ul>
<li> <li>
<p><code>&lt;Leader&gt;</code> prefix: prefer global keymap</p> <p><code>&lt;Leader&gt;</code> prefix: prefer global keymap</p>
@ -179,8 +174,21 @@ vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span clas
</p> </p>
<ul> <ul>
<li><code>&lt;Leader&gt;f</code>: find files</li> <li><code>&lt;Leader&gt;f</code>: find files</li>
<li><code>&lt;Leader&gt;l</code>: find lines</li>
<li><code>&lt;Leader&gt;rg</code>: grep files</li> <li><code>&lt;Leader&gt;rg</code>: grep files</li>
<li><code>&lt;Space&gt;s</code>: find lsp symbols</li> <li>
With
<a href="https://github.com/neovim/nvim-lspconfig"
>neovim/nvim-lspconfig</a
>
helps:
<ul>
<li><code>&lt;Space&gt;s</code>: find lsp symbols</li>
<li><code>&lt;Space&gt;d</code>: go to definition</li>
<li><code>&lt;Space&gt;r</code>: go to references</li>
<li><code>&lt;Space&gt;i</code>: go to implementation</li>
</ul>
</li>
</ul> </ul>
</li> </li>
<li> <li>
@ -281,12 +289,6 @@ vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span clas
<li><code>sr</code>: replace surround</li> <li><code>sr</code>: replace surround</li>
</ul> </ul>
</li> </li>
<li>
With mini-trailspace
<ul>
<li><code>&lt;Leader&gt;tr</code>: trim trailing whitespace</li>
</ul>
</li>
</ul> </ul>
</li> </li>
<li> <li>
@ -294,17 +296,13 @@ vim.<span class="pl-smi">keymap</span>.<span class="pl-c1">set</span>(<span clas
With With
<a href="https://github.com/neovim/nvim-lspconfig" <a href="https://github.com/neovim/nvim-lspconfig"
>neovim/nvim-lspconfig</a >neovim/nvim-lspconfig</a
> >:
</p> </p>
<ul> <ul>
<li><code>&lt;Space&gt;e</code>: float diagnostic</li> <li><code>&lt;Space&gt;e</code>: float diagnostic</li>
<li><code>&lt;Space&gt;d</code>: go to definition</li>
<li><code>&lt;Space&gt;k</code>: hover</li> <li><code>&lt;Space&gt;k</code>: hover</li>
<li><code>&lt;F2&gt;</code>: rename</li> <li><code>&lt;F2&gt;</code>: rename</li>
<li><code>&lt;Space&gt;ca</code>: code action</li> <li><code>&lt;Space&gt;ca</code>: code action</li>
<li><code>&lt;Space&gt;r</code>: go to references</li>
<li><code>&lt;Space&gt;i</code>: go to implementation</li>
<li><code>&lt;Space&gt;f</code>: format</li>
</ul> </ul>
</li> </li>
</ul> </ul>

View File

@ -47,34 +47,33 @@
re-write to cache re-write to cache
</li> </li>
</ul> </ul>
<div class="highlight highlight-source-mermaid"> <pre lang="mermaid"><code>sequenceDiagram
<pre><span class="pl-k">sequenceDiagram</span> participant other
<span class="pl-k">participant</span> <span class="pl-ent">other</span> participant service
<span class="pl-k">participant</span> <span class="pl-ent">service</span> participant cache
<span class="pl-k">participant</span> <span class="pl-ent">cache</span> participant db
<span class="pl-k">participant</span> <span class="pl-ent">db</span>
<span class="pl-ent">other </span><span class="pl-k">-&gt;&gt;</span> <span class="pl-ent">service</span><span class="pl-k">:</span> <span class="pl-s">get data</span> other -&gt;&gt; service: get data
<span class="pl-k">activate</span> <span class="pl-ent">service</span> activate service
<span class="pl-ent">service </span><span class="pl-k">-&gt;&gt;</span> <span class="pl-ent">cache</span><span class="pl-k">:</span> <span class="pl-s">get data</span> service -&gt;&gt; cache: get data
<span class="pl-k">alt</span> <span class="pl-s">exist in cache</span> alt exist in cache
<span class="pl-ent">service </span><span class="pl-k">--&gt;&gt;</span> <span class="pl-ent">other</span><span class="pl-k">:</span> <span class="pl-s">return data</span> service --&gt;&gt; other: return data
<span class="pl-k">else</span> <span class="pl-s">not exist in cache</span> else not exist in cache
<span class="pl-ent">service </span><span class="pl-k">-&gt;&gt;</span> <span class="pl-ent">db</span><span class="pl-k">:</span> <span class="pl-s">get data</span> service -&gt;&gt; db: get data
<span class="pl-k">alt</span> <span class="pl-s">exist data in db</span> alt exist data in db
<span class="pl-ent">service </span><span class="pl-k">--&gt;&gt;</span> <span class="pl-ent">other</span><span class="pl-k">:</span> <span class="pl-s">return data</span> service --&gt;&gt; other: return data
<span class="pl-k">else</span> <span class="pl-s">not exist data in db</span> else not exist data in db
<span class="pl-ent">service </span><span class="pl-k">--&gt;&gt;</span> <span class="pl-ent">other</span><span class="pl-k">:</span> <span class="pl-s">return error not found</span> service --&gt;&gt; other: return error not found
<span class="pl-k">end</span> end
<span class="pl-k">end</span> end
<span class="pl-k">deactivate</span> <span class="pl-ent">service</span> deactivate service
<span class="pl-ent">other </span><span class="pl-k">-&gt;&gt;</span> <span class="pl-ent">service</span><span class="pl-k">:</span> <span class="pl-s">set data</span> other -&gt;&gt; service: set data
<span class="pl-k">activate</span> <span class="pl-ent">service</span> activate service
<span class="pl-ent">service </span><span class="pl-k">-&gt;&gt;</span> <span class="pl-ent">db</span><span class="pl-k">:</span> <span class="pl-s">set data</span> service -&gt;&gt; db: set data
<span class="pl-ent">service </span><span class="pl-k">-&gt;&gt;</span> <span class="pl-ent">cache</span><span class="pl-k">:</span> <span class="pl-s">set data</span> service -&gt;&gt; cache: set data
<span class="pl-k">deactivate</span> <span class="pl-ent">service</span></pre> deactivate service
</div> </code></pre>
<p>It's good for general cases, for example with CRUD action.</p> <p>It's good for general cases, for example with CRUD action.</p>
<p> <p>
The bad things happen when cache and database are not consistent. For The bad things happen when cache and database are not consistent. For

View File

@ -97,21 +97,21 @@ vim.keymap.set("n", ";", "<Leader>", { remap = true })
vim.keymap.set("n", "'", "<Leader>", { remap = true }) vim.keymap.set("n", "'", "<Leader>", { remap = true })
``` ```
Misc keymap: Ground rules:
```lua
vim.keymap.set("n", "n", "nzz")
vim.keymap.set("n", "N", "Nzz")
vim.keymap.set("n", "q", ":q<CR>")
```
- `<Leader>` prefix: prefer global keymap - `<Leader>` prefix: prefer global keymap
- `<Space>` prefix: prefer lsp keymap, for coding of course :D - `<Space>` prefix: prefer lsp keymap, for coding of course :D
- With [ibhagwan/fzf-lua](https://github.com/ibhagwan/fzf-lua): - With [ibhagwan/fzf-lua](https://github.com/ibhagwan/fzf-lua):
- `<Leader>f`: find files - `<Leader>f`: find files
- `<Leader>l`: find lines
- `<Leader>rg`: grep files - `<Leader>rg`: grep files
- `<Space>s`: find lsp symbols - With [neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
helps:
- `<Space>s`: find lsp symbols
- `<Space>d`: go to definition
- `<Space>r`: go to references
- `<Space>i`: go to implementation
- With [nvim-tree/nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua), - With [nvim-tree/nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua),
inside nvim-tree: inside nvim-tree:
- `<C-n>`: toggle - `<C-n>`: toggle
@ -143,17 +143,11 @@ vim.keymap.set("n", "q", ":q<CR>")
- `sa`: add surround - `sa`: add surround
- `sd`: delete surround - `sd`: delete surround
- `sr`: replace surround - `sr`: replace surround
- With mini-trailspace - With [neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig):
- `<Leader>tr`: trim trailing whitespace
- With [neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
- `<Space>e`: float diagnostic - `<Space>e`: float diagnostic
- `<Space>d`: go to definition
- `<Space>k`: hover - `<Space>k`: hover
- `<F2>`: rename - `<F2>`: rename
- `<Space>ca`: code action - `<Space>ca`: code action
- `<Space>r`: go to references
- `<Space>i`: go to implementation
- `<Space>f`: format
## References / Thanks ## References / Thanks