This repository contains my personal Neovim configuration. It's tailored for an efficient and visually pleasing development experience, leveraging the power of Neovim's extensibility and plugin ecosystem.
- Enhanced Editing Experience: Autoclose brackets and quotes, format on save, and more intuitive key mappings for a smoother editing flow.
- Advanced Code Navigation: Integrations with Telescope and Treesitter for powerful and efficient code navigation.
- Integrated Terminal: Toggleable terminal windows within Neovim, allowing for seamless switching between code and command line.
- Customized Appearance: Aesthetic themes and status line configurations with Lualine and Rose Pine.
- Git Integration: Vim-fugitive for Git commands directly within Neovim.
- Language Server Protocol (LSP): Configured LSP for code intelligence features like autocompletion and linting.
Clone this repository into your Neovim configuration directory:
git clone https://github.com/sadegh-msm/vi-gari.git ~/.config/nvim
- Neovim (v0.5 or later)
- Various plugins listed in
packer.lua
(automatically managed by Packer).
After installation, open Neovim and the plugins will be automatically installed on the first run.
<leader>
is space
<leader>pv
for go to netrw<C-q>
for selecting rectangulare
for navigating to the last character of the wordb
for navigating to last words first characterX
deleting last character of the cursorA
will go end of line and start typing<number>i<anything_to_type>
this will write the typed word n timesf<charcter>
finds the next occurence of the chracter you can go to next or last one by;
or,
%
on ( or [ or { will find the matching to that charcter* or #
to find the occurence of a word<number>G
go on the specified lineo
goes on the next line and makes a new lineO
shifts this line an start typing/<anything_to_type>
it will wearch for this word and you can go forward or backeard byn
andN
d<number><navigation_key>
delete base on navigation key.
will do the last commandyy
for yanking a lineS
delete a line and start writing<C-w>
for navigating between panes in vim
<leader>pv
open the undotree pane
<leader>a
add file to harpoon<C-e>
harpoon quick menu<leader>1
file 1<leader>2
file 2<leader>3
file 3<leader>4
file 4<leader>ts
opens up a tmux session<leader>tr
opens up a terminal page
<leader>ff
find files<leader>ps
grep inside file<C-p>
find inside git
<leader>pe
toggle nvim tree
<leader>t
opens a floating terminal window<leader>th
opens horizontal terminal window<leader>tv
opens vertical terminal window<C-a>
close the window<C-hjkl>
move from the window<leader>tt
go back to the last terminal window For more detailed descriptions of key bindings and configurations, refer to the comments within the configuration files.
gc
to comment the selected text in visualgb
to comment in visual mode with blockgcc
comment one line in normal mode
<A-,>
go to last buffer<A-.>
go to next buffer<A-l>
swap buffer left<A-;>
swap buffer right<A-a>
go to buffer 1<A-s>
go to buffer 2<A-p>
pin a buffer<A-d>
close a buffer<leader>cb
close all buffers
Feel free to fork this repository and customize the configuration to fit your workflow. The init.lua
file and various Lua modules under the lua
directory can be modified to change settings and key bindings.