This is my personal configuration. This config based on 'kickstart.nvim'. In this config, I will keep track on changes and planned changes on this config. This config planned to be :
- Simple
- Modular
- Fast
- Flexible
NOT a Neovim distribution, but instead quick to go configuration.
NOTE : main
branch is my current config. Later, this branch will replaced by dev
.
If you want to make your own configuration, you can try base
branch for the basic functionality.
Installation pretty similar with'kickstart.nvim'. Please take a look over there for more further detail.
Neovim's configurations are located under the following paths, depending on your OS:
OS | PATH |
---|---|
Linux, MacOS | $XDG_CONFIG_HOME/nvim , ~/.config/nvim |
Windows (cmd) | %userprofile%\AppData\Local\nvim\ |
Windows (powershell) | $env:USERPROFILE\AppData\Local\nvim\ |
Clone fools.nvim:
Linux and Mac
# This is left from kickstart. I will changes this after move this to a new repo.
git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
Windows
If you're using cmd.exe
:
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
If you're using powershell.exe
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
Start Neovim
nvim
That's it! Lazy will install all the plugins you have. Use :Lazy
to view
current plugin status.
Try to read through the init.lua
file on 'kickstart.nvim'
for information about extending and exploring Neovim.
See Effective Neovim: Instant IDE, covering the previous version. Note: The install via init.lua is outdated, please follow the install instructions in this file instead. An updated video is coming soon.
Fork this repo (so that you have your own copy that you can modify) and then installing you can install to your machine using the methods above.
NOTE
Your fork's url will be something like this:https://github.com/<your_github_username>/kickstart.nvim.git
NOTE: You'll need to uncomment the line in the init.lua that turns on loading custom plugins.
Adding autopairs
This will automatically install windwp/nvim-autopairs and enable it on startup. For more information, see documentation for lazy.nvim.
In the file: lua/custom/plugins/autopairs.lua
, add:
-- File: lua/custom/plugins/autopairs.lua
return {
"windwp/nvim-autopairs",
-- Optional dependency
dependencies = { 'hrsh7th/nvim-cmp' },
config = function()
require("nvim-autopairs").setup {}
-- If you want to automatically add `(` after selecting a function or method
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp = require('cmp')
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
end,
}
Adding a file tree plugin
This will install the tree plugin and add the command :Neotree
for you. You can explore the documentation at neo-tree.nvim for more information.
In the file: lua/custom/plugins/filetree.lua
, add:
-- Unless you are still migrating, remove the deprecated commands from v1.x
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
return {
"nvim-neo-tree/neo-tree.nvim",
version = "*",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
},
config = function ()
require('neo-tree').setup {}
end,
}
This is the list of what needs to be done. I will update what I planned in the future and what I is already done in this section.
- Add neovim/nvim-lspconfig and nvim-telescope/telescope.nvim.
- Add snippet helper benfowler/telescope-luasnip.nvim.
- Add debugger with mfussenegger/nvim-dap and rcarriga/nvim-dap-ui.
- Add folke/which-key.nvim for keybinding preview.
- Add greeter page with goolord/alpha-nvim.
- Add git integration. I use lewis6991/gitsigns.nvim, kdheepak/lazygit.nvim, and sindrets/diffview.nvim
- Use echasnovski/mini.nvim for statusline and pairs autocomplete..