# My neovim workflow ![nvim-000](https://raw.githubusercontent.com/haunt98/posts-images/main/nvim-000.png) All configs are in [my dotfiles](https://github.com/haunt98/dotfiles). Use both `\` and `;` as leader key. Search multiple words: ```vim :/\vword1|word2|word3 ``` Replace word: ```vim :%s/word1/word2/g ``` Jump basic: - `gg`: first line - `G`: last line - `0`: first character of line - `$`: last character of line - `w`, `b`: word forward/backward Jump advance: - `CTRL-O`, `CTRL-I`: cursor position backward/forward - : jump forward cursor position - `(`, `)`: sentence backward/forward - `{`, `}`: paragraph backward/forward - `H`: top of screen - `M`: middle of screen - `L`: bottom of screen - `CTRL-]`, `CTRL-T`: jump to tag/jump back from tag - Support jump to Go definition with [fatih/vim-go](https://github.com/fatih/vim-go). Keymap for plugin (sync with dotfiles): ```lua vim.keymap.set("n", "f", ":FZF") vim.keymap.set("n", "rg", ":Rg") vim.keymap.set("n", "", ":NvimTreeToggle") vim.keymap.set("n", "n", ":NvimTreeFindFile") vim.keymap.set("n", "z", ":ZenMode") vim.keymap.set("n", "tr", ":lua MiniTrailspace.trim()") vim.keymap.set("n", "", ":GoRename") vim.keymap.set("n", "gf", ":GoFillStruct:w") vim.keymap.set("n", "gat", ":GoAlternate") vim.keymap.set("n", "gt", ":GoTest") vim.keymap.set("n", "gr", ":GoReferrers") vim.keymap.set("n", "gcv", ":GoCoverage") vim.keymap.set("n", "gdd", ":GoDeclsDir") ``` - With [echasnovski/mini.nvim mini-comment](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-comment.md) - `gcc`: comment/uncomment current line - `gc`: comment/uncomment selected lines - With [echasnovski/mini.nvim mini-bracketed](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-bracketed.md) - `[b`, `]b`: buffer backward/forward - `[T`, `]T`, `[t`, `]t`: tree-sitter backward/forward - Support more languages with [nvim-treesitter/nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) ## Reference - [neovim Motion](https://neovim.io/doc/user/motion.html) - [neovim Tagsrch](http://neovim.io/doc/user/tagsrch.html)