Charles Neovim Configuration Information
Well structured lazy config with several setup scripts and a Wiki
- Install and initialize:
lazyman -w Charles
- Configuration category: Personal
- Base configuration: Custom
- Plugin manager: Lazy
- Installation location:
~/.config/nvim-Charles
Git repository
https://github.com/CharlesChiuGit/nvimdots.lua
Lazy managed plugins
- numToStr/Comment.nvim
- L3MON4D3/LuaSnip
- accelerated-jk.nvim
- goolord/alpha-nvim
- autoclose.nvim
- max397574/better-escape.nvim
- akinsho/bufferline.nvim
- catppuccin/nvim
- doctorfree/cheatsheet.nvim
- hrsh7th/cmp-buffer
- kdheepak/cmp-latex-symbols
- hrsh7th/cmp-nvim-lsp
- hrsh7th/cmp-nvim-lua
- hrsh7th/cmp-path
- f3fora/cmp-spell
- cmp-tabnine
- cmp-tmux
- cmp-treesitter
- cmp-under-comparator
- saadparwaiz1/cmp_luasnip
- copilot-cmp
- copilot.lua
- delaytrain.nvim
- dial.nvim
- diffview.nvim
- j-hui/fidget.nvim
- rafamadriz/friendly-snippets
- fzy-lua-native
- lewis6991/gitsigns.nvim
- glance.nvim
- ellisonleao/gruvbox.nvim
- headlines.nvim
- lukas-reineke/indent-blankline.nvim
- folke/lazy.nvim
- leap-ast.nvim
- ggandor/leap.nvim
- lvimuser/lsp-inlayhints.nvim
- ray-x/lsp_signature.nvim
- glepnir/lspsaga.nvim
- nvim-lualine/lualine.nvim
- iamcco/markdown-preview.nvim
- williamboman/mason-lspconfig.nvim
- jayp0521/mason-null-ls.nvim
- jay-babu/mason-nvim-dap.nvim
- jay-babu/mason-nvim-dap.nvim
- neodim
- neogen
- karb94/neoscroll.nvim
- nginx.vim
- jayp0521/mason-null-ls.nvim
- ojroques/nvim-bufdel
- hrsh7th/nvim-cmp
- norcalli/nvim-colorizer.lua
- nvim-comment-frame
- jay-babu/mason-nvim-dap.nvim
- rcarriga/nvim-dap-ui
- neovim/nvim-lspconfig
- nvim-neoclip.lua
- rcarriga/nvim-notify
- nvim-scrollbar
- kylechui/nvim-surround
- kyazdani42/nvim-tree.lua
- nvim-treesitter/nvim-treesitter
- nvim-treesitter/nvim-treesitter-context
- nvim-treesitter/nvim-treesitter-textobjects
- windwp/nvim-ts-autotag
- JoosepAlviste/nvim-ts-context-commentstring
- nvim-unception
- kyazdani42/nvim-web-devicons
- oil.nvim
- paint.nvim
- persisted.nvim
- nvim-treesitter/playground
- nvim-lua/plenary.nvim
- ahmedkhalf/project.nvim
- python-copy-reference.vim
- rainbow-delimiters.nvim
- search-replace.nvim
- smartyank.nvim
- sniprun
- tami5/sqlite.lua
- lambdalisue/suda.vim
- swenv.nvim
- simrat39/symbols-outline.nvim
- syntax-tree-surfer
- tabout.nvim
- telescope-env.nvim
- nvim-telescope/telescope-frecency.nvim
- nvim-telescope/telescope-fzf-native.nvim
- nvim-telescope/telescope-live-grep-args.nvim
- telescope-undo.nvim
- nvim-telescope/telescope.nvim
- tmux.nvim
- folke/todo-comments.nvim
- akinsho/toggleterm.nvim
- Wansmer/treesj
- folke/trouble.nvim
- vim-cool
- junegunn/vim-easy-align
- tpope/vim-fugitive
- vim-highlighturl
- RRethy/vim-illuminate
- vim-log-highlighting
- andymass/vim-matchup
- lervag/vimtex
- folke/which-key.nvim
- gelguy/wilder.nvim
Charles Keymaps
Normal mode keymaps
Description | buffer: Switch to next |
---|---|
Left hand side | <Tab> |
Right hand side | :BufferLineCycleNext<CR> |
Description | edit: Clear search highlight |
---|---|
Left hand side | <Esc> |
Right hand side | :noh<CR> |
Description | edit: Split code block |
---|---|
Left hand side | s |
Right hand side | :<C-U>TSJSplit<CR> |
Description | edit: Join code block |
---|---|
Left hand side | j |
Right hand side | :<C-U>TSJJoin<CR> |
Description | Nvim builtin |
---|---|
Left hand side | & |
Right hand side | :&&<CR> |
Description | edit: Increment |
---|---|
Left hand side | + |
Right hand side | <C-A> |
Description | buffer: Sort by direrctory |
---|---|
Left hand side | ,bd |
Right hand side | :BufferLineSortByDirectory<CR> |
Description | buffer: Sort by extension |
---|---|
Left hand side | ,be |
Right hand side | :BufferLineSortByExtension<CR> |
Description | find: Word in project |
---|---|
Left hand side | ,fw |
Right hand side |
Description | lsp: Show loclist |
---|---|
Left hand side | ,tl |
Right hand side | :TroubleToggle loclist<CR> |
Description | lsp: Show quickfix list |
---|---|
Left hand side | ,tq |
Right hand side | :TroubleToggle quickfix<CR> |
Description | debug: Open REPL |
---|---|
Left hand side | ,do |
Right hand side |
Description | ui: Change colorscheme for current session |
---|---|
Left hand side | ,fc |
Right hand side | :<C-U>Telescope colorscheme<CR> |
Description | find: File in project |
---|---|
Left hand side | ,ff |
Right hand side | :<C-U>Telescope find_files<CR> |
Description | find: File by history |
---|---|
Left hand side | ,fe |
Right hand side | :<C-U>Telescope oldfiles<CR> |
Description | find: File by frecency |
---|---|
Left hand side | ,fr |
Right hand side |
Description | find: Project |
---|---|
Left hand side | ,fp |
Right hand side |
Description | edit: Show undo history |
---|---|
Left hand side | ,u |
Right hand side |
Description | lsp: Show workspace diagnostics |
---|---|
Left hand side | ,tw |
Right hand side | :TroubleToggle workspace_diagnostics<CR> |
Description | lsp: Show document diagnostics |
---|---|
Left hand side | ,td |
Right hand side | :TroubleToggle document_diagnostics<CR> |
Description | lsp: Show lsp references |
---|---|
Left hand side | ,tr |
Right hand side | :TroubleToggle lsp_references<CR> |
Description | lsp: Toggle trouble list |
---|---|
Left hand side | ,tt |
Right hand side | :TroubleToggle<CR> |
Description | git: Toggle lazygit |
---|---|
Left hand side | ,lg |
Right hand side |
Description | debug: Run last |
---|---|
Left hand side | ,dl |
Right hand side |
Description | debug: Run to cursor |
---|---|
Left hand side | ,dc |
Right hand side |
Description | debug: Set breakpoint with condition |
---|---|
Left hand side | ,db |
Right hand side |
Description | find: Session |
---|---|
Left hand side | ,fd |
Right hand side | :<C-U>Telescope persisted<CR> |
Description | find: Current word |
---|---|
Left hand side | ,fs |
Right hand side | :<C-U>Telescope grep_string<CR> |
Description | find: Buffer opened |
---|---|
Left hand side | ,fb |
Right hand side | :<C-U>Telescope buffers<CR> |
Description | tool: Run code by file |
---|---|
Left hand side | ,R |
Right hand side | :<C-U>%SnipRun<CR> |
Description | find: file in git project |
---|---|
Left hand side | ,fg |
Right hand side | :<C-U>Telescope git_files<CR> |
Description | buffer: New |
---|---|
Left hand side | ,fn |
Right hand side | :<C-U>:enew<CR> |
Description | filetree: Refresh |
---|---|
Left hand side | ,nr |
Right hand side | :NvimTreeRefresh<CR> |
Description | filetree: Find file |
---|---|
Left hand side | ,nf |
Right hand side | :NvimTreeFindFile<CR> |
Description | git: Open git-fugitive |
---|---|
Left hand side | ,G |
Right hand side | :<C-U>Git<CR> |
Description | |
---|---|
Left hand side | ,- |
Right hand side |
Description | |
---|---|
Left hand side | ,= |
Right hand side |
Description | git: Show diff |
---|---|
Left hand side | ,dv |
Right hand side | :DiffviewOpen<CR> |
Description | edit: Add comment box around multi lines of texts |
---|---|
Left hand side | ,cF |
Right hand side |
Description | git: Close diff |
---|---|
Left hand side | ,,dv |
Right hand side | :DiffviewClose<CR> |
Description | edit: Add comment box around the texts |
---|---|
Left hand side | ,cf |
Right hand side |
Description | session: Delete |
---|---|
Left hand side | ,sd |
Right hand side | :<C-U>SessionDelete<CR> |
Description | session: Load current |
---|---|
Left hand side | ,sl |
Right hand side | :<C-U>SessionLoad<CR> |
Description | session: Save |
---|---|
Left hand side | ,ss |
Right hand side | :<C-U>SessionSave<CR> |
Description | edit: Search-repacle multi buffers CFile |
---|---|
Left hand side | ,rbf |
Right hand side | :<C-U>SearchReplaceMultiBufferCFile<CR> |
Description | edit: Search-repacle multi buffers CExpr |
---|---|
Left hand side | ,rbe |
Right hand side | :<C-U>SearchReplaceMultiBufferCExpr<CR> |
Description | edit: Search-repacle multi buffers CWORD |
---|---|
Left hand side | ,rbW |
Right hand side | :<C-U>SearchReplaceMultiBufferCWORD<CR> |
Description | edit: Search-repacle multi buffers CWord |
---|---|
Left hand side | ,rbw |
Right hand side | :<C-U>SearchReplaceMultiBufferCWord<CR> |
Description | edit: Search-repacle in multi buffers |
---|---|
Left hand side | ,rbo |
Right hand side | :<C-U>SearchReplaceMultiBufferOpen<CR> |
Description | edit: Show search-repacle menu for multi buffer |
---|---|
Left hand side | ,rbs |
Right hand side | :<C-U>SearchReplaceMultiBufferSelections<CR> |
Description | edit: Search-repacle current buffer CFile |
---|---|
Left hand side | ,rf |
Right hand side | :<C-U>SearchReplaceSingleBufferCFile<CR> |
Description | edit: Search-repacle current buffer CExpr |
---|---|
Left hand side | ,re |
Right hand side | :<C-U>SearchReplaceSingleBufferCExpr<CR> |
Description | edit: Search-repacle current buffer CWORD |
---|---|
Left hand side | ,rW |
Right hand side | :<C-U>SearchReplaceSingleBufferCWORD<CR> |
Description | edit: Search-repacle current buffer CWord |
---|---|
Left hand side | ,rw |
Right hand side | :<C-U>SearchReplaceSingleBufferCWord<CR> |
Description | edit: Search-repacle in current buffer |
---|---|
Left hand side | ,ro |
Right hand side | :<C-U>SearchReplaceSingleBufferOpen<CR> |
Description | edit: Show search-repacle menu in current buffer |
---|---|
Left hand side | ,rs |
Right hand side | :<C-U>SearchReplaceSingleBufferSelections<CR> |
Description | package: Profile |
---|---|
Left hand side | ,pp |
Right hand side | :Lazy profile<CR> |
Description | package: Sync |
---|---|
Left hand side | ,ps |
Right hand side | :Lazy sync<CR> |
Description | package: Debug |
---|---|
Left hand side | ,pd |
Right hand side | :Lazy debug<CR> |
Description | package: Show |
---|---|
Left hand side | ,ph |
Right hand side | :Lazy<CR> |
Description | package: Check |
---|---|
Left hand side | ,pc |
Right hand side | :Lazy check<CR> |
Description | package: Log |
---|---|
Left hand side | ,pl |
Right hand side | :Lazy log<CR> |
Description | package: Clean |
---|---|
Left hand side | ,px |
Right hand side | :Lazy clean<CR> |
Description | package: Install |
---|---|
Left hand side | ,pi |
Right hand side | :Lazy install<CR> |
Description | package: Restore |
---|---|
Left hand side | ,pr |
Right hand side | :Lazy restore<CR> |
Description | package: Update |
---|---|
Left hand side | ,pu |
Right hand side | :Lazy update<CR> |
Description | edit: Start replacment mode of current word |
---|---|
Left hand side | ,,s |
Right hand side | <Cmd>%s/\<lt><C-R><C-W>\>/<C-R><C-W>/gI<Left><Left><Left> |
Description | filetree: Open Oil |
---|---|
Left hand side | ,o |
Right hand side |
Description | file: chmod +x current file |
---|---|
Left hand side | ,,x |
Right hand side | <Cmd>!chmod +x %<CR> |
Description | edit: Decrement |
---|---|
Left hand side | - |
Right hand side | <C-X> |
Description | buffer: Move current to prev |
---|---|
Left hand side | <lt>tab-S-k> |
Right hand side | :BufferLineMovePrev<CR> |
Description | buffer: Move current to next |
---|---|
Left hand side | <lt>tab-S-j> |
Right hand side | :BufferLineMoveNext<CR> |
Description | edit: Delete text to EOL |
---|---|
Left hand side | D |
Right hand side | d$ |
Description | leapn: Jump backward to character |
---|---|
Left hand side | F |
Right hand side |
Description | jump: Jump to specified node |
---|---|
Left hand side | J |
Right hand side |
Description | edit: Prev search result |
---|---|
Left hand side | N |
Right hand side | Nzzzv |
Description | leapn: Jump backward till character |
---|---|
Left hand side | T |
Right hand side |
Description | edit: Yank text to EOL |
---|---|
Left hand side | Y |
Right hand side | y$ |
Description | edit: Change a surrounding pair |
---|---|
Left hand side | cs |
Right hand side |
Description | edit: Delete a surrounding pair |
---|---|
Left hand side | ds |
Right hand side |
Description | leapn: Jump to character |
---|---|
Left hand side | f |
Right hand side |
Description | git: Pull |
---|---|
Left hand side | gpl |
Right hand side | :G pull<CR> |
Description | git: Push |
---|---|
Left hand side | gps |
Right hand side | :G push<CR> |
Description | edit: Toggle comment for block with operator |
---|---|
Left hand side | gb |
Right hand side | <Plug>(comment_toggle_blockwise) |
Description | edit: Align with delimiter |
---|---|
Left hand side | gea |
Right hand side | :EasyAlign<CR> |
Description | edit: Toggle comment for line with operator |
---|---|
Left hand side | gc |
Right hand side | <Plug>(comment_toggle_linewise) |
Description | edit: Toggle comment for block |
---|---|
Left hand side | gbc |
Right hand side |
Description | edit: Toggle comment for line |
---|---|
Left hand side | gcc |
Right hand side |
Description | leapn: Jump to character across windows |
---|---|
Left hand side | gt |
Right hand side |
Description | jump: Jump to functions |
---|---|
Left hand side | jif |
Right hand side |
Description | jump: Jump to functions |
---|---|
Left hand side | jfu |
Right hand side |
Description | jump: Jump to visible variable_declarations |
---|---|
Left hand side | jv |
Right hand side |
Description | |
---|---|
Left hand side | j |
Right hand side |
Description | |
---|---|
Left hand side | k |
Right hand side |
Description | Jumpx: Jump across syntax tree |
---|---|
Left hand side | m |
Right hand side |
Description | edit: Next search result |
---|---|
Left hand side | n |
Right hand side | nzzzv |
Description | edit: Split or Join code block with autodetect |
---|---|
Left hand side | sj |
Right hand side | :<C-U>TSJToggle<CR> |
Description | leapn: Jump till character |
---|---|
Left hand side | t |
Right hand side |
Description | tab: Only keep current tab |
---|---|
Left hand side | to |
Right hand side | <Cmd>tabonly<CR> |
Description | tab: Move to previous tab |
---|---|
Left hand side | tj |
Right hand side | <Cmd>tabprevious<CR> |
Description | tab: Move to next tab |
---|---|
Left hand side | tk |
Right hand side | <Cmd>tabnext<CR> |
Description | tab: Create a new tab |
---|---|
Left hand side | tn |
Right hand side | <Cmd>tabnew<CR> |
Description | edit: Visual select current node |
---|---|
Left hand side | vn |
Right hand side | :<C-U>STSSelectCurrentNode<CR> |
Description | edit: Visual select master node |
---|---|
Left hand side | vx |
Right hand side | :<C-U>STSSelectMasterNode<CR> |
Description | edit: Add a surrounding pair around the current line, on new lines |
---|---|
Left hand side | ySS |
Right hand side |
Description | edit: Add a surrounding pair around a motion, on new lines |
---|---|
Left hand side | yS |
Right hand side |
Description | edit: Add a surrounding pair around current line |
---|---|
Left hand side | yss |
Right hand side |
Description | edit: Add a surrounding pair around a motion |
---|---|
Left hand side | ys |
Right hand side |
Description | tmux: Resize tmux/nvim pane rightward |
---|---|
Left hand side | <M-l> |
Right hand side |
Description | terminal: Toggle float |
---|---|
Left hand side | <M-d> |
Right hand side | :execute v:count . "ToggleTerm direction=float"<CR> |
Description | terminal: Toggle vertical |
---|---|
Left hand side | <F5> |
Right hand side | :execute v:count . "ToggleTerm direction=vertical"<CR> |
Description | terminal: Toggle vertical |
---|---|
Left hand side | <M-Bslash> |
Right hand side | :execute v:count . "ToggleTerm direction=vertical"<CR> |
Description | debug: Step over |
---|---|
Left hand side | <F11> |
Right hand side |
Description | terminal: Toggle horizontal |
---|---|
Left hand side | <C-Bslash> |
Right hand side | :execute v:count . "ToggleTerm direction=horizontal"<CR> |
Description | debug: Step out |
---|---|
Left hand side | <F10> |
Right hand side |
Description | debug: Step into |
---|---|
Left hand side | <F9> |
Right hand side |
Description | tmux: Resize to tmux/nvim pane leftward |
---|---|
Left hand side | <M-h> |
Right hand side |
Description | debug: Toggle breakpoint |
---|---|
Left hand side | <F8> |
Right hand side |
Description | tmux: Resize to tmux/nvim pane upward |
---|---|
Left hand side | <M-k> |
Right hand side |
Description | debug: Stop |
---|---|
Left hand side | <F7> |
Right hand side |
Description | tmux: Resize tmux/nvim pane downward |
---|---|
Left hand side | <M-j> |
Right hand side |
Description | debug: Run/Continue |
---|---|
Left hand side | <F6> |
Right hand side |
Description | tool: Preview markdown |
---|---|
Left hand side | <F12> |
Right hand side | :MarkdownPreviewToggle<CR> |
Description | buffer: Close current |
---|---|
Left hand side | <F4> |
Right hand side | :BufDel<CR> |
Description | editn: Save file using sudo |
---|---|
Left hand side | <M-s> |
Right hand side | :<C-U>SudaWrite<CR> |
Description | Formater: Toggle format on save |
---|---|
Left hand side | <M-f> |
Right hand side | <Cmd>FormatToggle<CR> |
Description | edit: Save file |
---|---|
Left hand side | <C-S> |
Right hand side | :<C-U>write<CR> |
Description | edit: Select all |
---|---|
Left hand side | <C-A> |
Right hand side | gg0vG$ |
Description | buffer: Switch to prev |
---|---|
Left hand side | <S-Tab> |
Right hand side | :BufferLineCyclePrev<CR> |
Description | edit: Force quit |
---|---|
Left hand side | <M-Q> |
Right hand side | :q!<CR> |
Description | filetree: Toggle |
---|---|
Left hand side | <C-N> |
Right hand side | :NvimTreeToggle<CR> |
Description | tool: Toggle command panel |
---|---|
Left hand side | <C-P> |
Right hand side |
Description | edit: Save file and quit |
---|---|
Left hand side | <C-Q> |
Right hand side | :wq<CR> |
Description | window: Resize +2 horizontally |
---|---|
Left hand side | <M-'> |
Right hand side | :resize +2<CR> |
Description | window: Resize -2 horizontally |
---|---|
Left hand side | <M-;> |
Right hand side | :resize -2<CR> |
Description | window: Resize +5 vertically |
---|---|
Left hand side | <M-]> |
Right hand side | :vertical resize +5<CR> |
Description | window: Resize -5 vertically |
---|---|
Left hand side | <M-[> |
Right hand side | :vertical resize -5<CR> |
Description | tmux: Move to tmux/nvim top window |
---|---|
Left hand side | <C-K> |
Right hand side |
Description | tmux: Move to tmux/nvim bottom window |
---|---|
Left hand side | <C-J> |
Right hand side |
Description | tmux: Move to tmux/nvim left window |
---|---|
Left hand side | <C-H> |
Right hand side |
Description | tmux: Move tmux/nvim right window |
---|---|
Left hand side | <C-L> |
Right hand side |
Visual mode keymaps
Description | Nvim builtin |
---|---|
Left hand side | # |
Right hand side | y?\V<C-R>"<CR> |
Description | Nvim builtin |
---|---|
Left hand side | * |
Right hand side | y/\V<C-R>"<CR> |
Description | |
---|---|
Left hand side | ,= |
Right hand side |
Description | |
---|---|
Left hand side | ,- |
Right hand side |
Description | tool: Run code by range |
---|---|
Left hand side | ,R |
Right hand side | :SnipRun<CR> |
Description | move: Change selection region to child node |
---|---|
Left hand side | - |
Right hand side | :<C-U>STSSelectChildNode<CR> |
Description | edit: Decrease indent |
---|---|
Left hand side | <lt> |
Right hand side | <lt>gv |
Description | move: Change selection region to parent node |
---|---|
Left hand side | = |
Right hand side | :<C-U>STSSelectParentNode<CR> |
Description | edit: Increase indent |
---|---|
Left hand side | > |
Right hand side | >gv |
Description | leapx: Visual select backward to character |
---|---|
Left hand side | F |
Right hand side |
Description | edit: Move this line down |
---|---|
Left hand side | J |
Right hand side | :m '>+1<CR>gv=gv |
Description | edit: Move this line up |
---|---|
Left hand side | K |
Right hand side | :m '<lt>-2<CR>gv=gv |
Description | leapx: Visual select backward till character |
---|---|
Left hand side | T |
Right hand side |
Description | move: Change selection region to preivous sibling node |
---|---|
Left hand side | [ |
Right hand side | :<C-U>STSSelectPrevSiblingNode<CR> |
Description | move: Change selection region to next sibling node |
---|---|
Left hand side | ] |
Right hand side | :<C-U>STSSelectNextSiblingNode<CR> |
Description | leapx: Visual select to character |
---|---|
Left hand side | f |
Right hand side |
Description | edit: Toggle comment for line with selection |
---|---|
Left hand side | gc |
Right hand side | <Plug>(comment_toggle_linewise_visual) |
Description | edit: Toggle comment for block with selection |
---|---|
Left hand side | gb |
Right hand side | <Plug>(comment_toggle_blockwise_visual) |
Description | edit: Align with delimiter |
---|---|
Left hand side | gea |
Right hand side | :EasyAlign<CR> |
Description | Jumpx: Jump across syntax tree |
---|---|
Left hand side | m |
Right hand side |
Description | leapx: Visual select till character |
---|---|
Left hand side | t |
Right hand side |
Description | edit: Add a surrounding pair around a visual selection, on new lines |
---|---|
Left hand side | yS |
Right hand side |
Description | edit: Add a surrounding pair around a visual selection |
---|---|
Left hand side | ys |
Right hand side |
Description | edit: Search-replace with selection within one line |
---|---|
Left hand side | <C-R> |
Right hand side | :<C-U>SearchReplaceSingleBufferVisualSelection<CR> |
Description | edit: Search-replace with selection within one line CWord |
---|---|
Left hand side | <C-W> |
Right hand side | :<C-U>SearchReplaceWithinVisualSelectionCWord<CR> |
Description | edit: Select all |
---|---|
Left hand side | <C-A> |
Right hand side | <Esc>gg0vG$ |
Operator mode keymaps
Description | leapo: Operatate backward to character |
---|---|
Left hand side | F |
Right hand side |
Description | leapo: Operatate backward till character |
---|---|
Left hand side | T |
Right hand side |
Description | leapo: Operatate to character |
---|---|
Left hand side | f |
Right hand side |
Description | Jumpo: Jump across syntax tree |
---|---|
Left hand side | m |
Right hand side |
Description | leapo: Operatate till character |
---|---|
Left hand side | t |
Right hand side |