Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.
/ niyvim Public archive

Neovim configuration for using it as a full-featured IDE in daily coding.

License

Notifications You must be signed in to change notification settings

mszenfeld/niyvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NiyVim

It's a feature-rich neovim configuration for using it as a full-featured IDE in daily coding.

niyvim01 niyvim02

⚙️ Requirements

✨ Features

  • File explorer and quick navigation
  • Beautiful UI
  • Terminal
  • Integration with git
  • Status bar
  • Fuzzy finding

🛠 Installation

Back up your current neovim configuration and clone this repository to the ~/.config/nvim directory.

git clone https://github.com/mszenfeld/niyvim.git ~/.config/nvim

Now, you can run neovim and install required packages:

nvim

⌨️ Default Mappings

General

Mapping Action
jj Escape key
qq Close window
Ctrl + h Go to the left window
Ctrl + j Go to the window below
Ctrl + k Go to the window above
Ctrl + l Go to the right window
Ctrl + \ Open terminal
gcc Toggle the current line using linewise comment
Space + ? Show key binding: + ?
\a Toggle Aerial
\db Toggle database UI

File explorer

Mapping Action
Ctrl + f Open/focus file explorer
Ctrl + p Open floating window with active buffers

File navigation

Mapping Action
\fi Find files
\rg Live grep

Git

Mapping Action
\hs Stage hunk
\hr Reset hunk
\hp Preview hunk

LSP

Mapping Action
gd Go to definition
gy Go to type definition
gi Go to implementation
gr Go to references
\rn Rename
Shift + k Show documentation
Space + l Show diagnostics
Space + f Code actions

Sessions

Mapping Action
\ss Save Session
\sl Load Session

Configuration

To add your custom configuration, you can put it in lua/config.lua file:

-- config.lua

niyvim = require('niyvim')

-- Custom Plugins
niyvim.plugins = {
  { 'mfussenegger/nvim-dap-python' },
}

-- Custom Mappings
niyvim.mappings = {
  ['<leader>df'] = {
    mode = { 'n' },
    action = '<cmd>lua require("dap-python").test_class()<cr>',
    opts = { noremap = true, silent = true },
  },
}


niyvim.init = function() 
  dap_python = require('dap-python')

  dap_python.test_runner = 'pytest'
  dap_python.setup('~/.pyenv/shims/python')
end

return niyvim

About

Neovim configuration for using it as a full-featured IDE in daily coding.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages