/nvim

NeoVim config

Primary LanguageLua

NeoVim

ezgif com-optimize

Dependencies

Using CTAGS, it's optional to install:

sudo apt install -y universal-ctags

To use the custom icons, you need to install the NerdFonts.

To use the LSP, install the servers and configure on lspconfig.lua:

gem install --user-install solargraph solargraph-rails

Install

Clone that repo as ~/.config/nvim.

Open the nvim and run:

:TSInstall ruby python json bash php html javascript rust css markdown markdown_inline regex

Plugins

+ details

Are defined in nvim/lua/plugins/.

Plugin Configs Description
Yanky yanky.lua Manage and store all the copies/deletes
Wakatime wakatime.lua External data, register the infos about the working time and programming languages
Trouble trouble.lua TODO
Tidy tidy.lua Remove the spaces in empty lines
Telescope telescope.lua TODO
Snippy snippy.lua Basic snippets
Scrollbar scrollbar.lua Set a minimal scrollbar to show the position, trouble and git changes
Rails rails.lua More details to snippets about the ruby on rails structure
NeoTree neo-tree.lua Tree of files, like explorer or NERDTree, with infos about the buffer and git status
Monokai monokai.lua The theme/colorscheme as monokai
Mini mini.lua TODO¹
Lualine lualine.lua Use to set the statusline
LspSaga lspsaga.lua Improve in the LSP
LspConfig lspconfig.lua Configuring the LSP²
LastPlace lastplace.lua Preserve the last cursor position in the file
Illuminate illuminate.lua Highlith the current method in the file
Gitsigns gitsigns.lua Git infos, git blame in the current line will be display in 3s in the line
Dashboard dashboard.lua Init screen/dashboard
Bufferline bufferline.lua Buffer files display like tabs in the top
Ale ale.lua Async lint check
RubyRefactoring ruby-refactor.lua Keymaps for Ruby

¹ TODO of mini

² current is using only the solargraph

Configs

+ details
Param Description
number Enable the line numbers
ruler Enable the highlight of the current line
cursorcolumn Enable the highlight of the current column
cursorline Enable the highlight of the current line
ruler Enable the highlight of the current line
ruler Enable the highlight of the current line
foldenable Enable the folding method (using key za)
foldlevelstart Set the 3 level to start
foldmethod Set the folding method as defined by the foldexp
foldexp Set the folding expression as defined by plugin nvim_treesitter
undofile Enable the undo wehn you close the file, the changes are forever
backupdir Set backdir inside the nvim dir in a tmp folder¹
undodir Set undodir inside the nvim dir in a tmp folder¹
directory Set swapdir inside the nvim dir in a tmp folder¹
expandtab Enable the expandtab to soft the TAB
shiftwidth Set the tab as two spaces

¹ these directories are auto created as nvim/tmp/NAME

Leader

Set as :, but have the alias as ;, só don't need to press SHIFT to use it.

Keybinds

+ details
Keybind Description
<LEADER>/ Clear the highlight of the search
<LEADER>rt Run the ctags to reload the tags
<LEADER>d Print a debugger in a new line
<LEADER>p Open the Telescope
<LEADER>ff Open the Telescope in find_files mode
<TAB> Toggle the selection of file on Telescope
<C-x> Open the Telescope selected file on split
<C-v> Open the Telescope selected file on vertical split
<C-t> Open the Telescope selected file in a new tab
<C-u> Go to UP of preview pane on Telescope
<C-d> Go to DOWN of preview pane on Telescope
<LEADER>e Toggle the NeoTree explorer
<LEADER>ew Toggle the NeoTree explorer in a popup floating window
<LEADER>ef Toggle the NeoTree explorer with focus on the current file
<C-n> Go to the forward item in the copies history
<C-p> Go to the backward item in the copies history
<A-p> Go to the previous occurrence of the method
<A-n> Go to the next occurrence of the method
<LEADER>hb Show the git blame of the current line
[c Go to the previous change in the file
]c Go to the next change in the file
<C-h> Go to the previous file in buffer
<C-l> Go to the next file in buffer
<LEADER>bd Remove the current file from buffer
<LEADER>l Swap between the two files in buffer
gh Find references to the current method in project
gr Rename the current method/variable in the file
gd Show the definition of the class/method
<LEADER>o Toggle the sidebar with the class and methods
<A-d> Open the terminal floating window
za Toggle the folding
<LEADER>rap Add new parameter to the current method (RAddParameter)
<LEADER>rcpc Convert the conditional (if/...) from the end of line to a block (RConvertPostConditional)
<LEADER>rel Move the current var to a let in RSpec (RExtractLet)
<LEADER>rit Remove the temp variable and use the value instead of the var (RInlineTemp)
<LEADER>ct Search for git conflict markers in file

Useful commands

Command Description
:A Toggle between the class and the test

Filetypes

The unkown filetypes can be defined the type in nvim/filetype.lua.