dino.nvim is my personalized Neovim configuration, tailored to suit my coding preferences and workflow. It provides an optimized and feature-rich development environment for various programming languages, including Python, C++, Lua, and JSON. The configuration is built with simplicity and efficiency in mind, aiming to boost productivity and enhance the overall coding experience.
Before setting up dino.nvim, ensure that the following dependencies are installed on your system:
- Node Version Manager (nvm): For managing Node.js versions.
- NodeJS: Required to compile many plugins.
- Clangd: For C++ language server support.
- Python: For compilation and language server support.
- xclip: Enables clipboard functionality.
- xdg-utils: Required for Markdown preview functionality specifically for WSL.
- Unzip: Required for installing clangd and in general many other packages which requires unzipping.
To install nvm and Node.js LTS, follow the instructions in the nvm repository.
# On Ubuntu/Debian-based systems, you can install xclip, xdg-utils, and unzip using:
sudo apt-get install -y xclip xdg-utils unzip
(Installing Packer can be as simple as cloning the repository inside ~/.local directory as mentioned in Packer repository)
- Clone the repository:
git clone https://github.com/yourusername/dino.nvim.git ~/.config/nvim
- Install the Packer package manager. It will be used to manage plugins in dino.nvim:
# Install Packer by running this command inside Neovim:
:PackerInstall
- Restart Neovim to apply the changes.
The configuration is mainly optimized for Python, C++ and Lua language servers. You can use it as is or add support for other languages according to your needs by modifying files under lua/user/lsp
directory.
dino.nvim uses the Oxocarbon theme for a clean and modern look.
dino.nvim supports the following language servers:
- Python (Using jedi_language_server)
- C++ (Using clangd)
- Lua (Using lua_ls)
- JSON
These language servers provide intelligent code completion, syntax checking, and other code analysis features to improve your coding workflow.
dino.nvim supports formatting using Mason formatters:
- For Python formatting, install
black
formatter using:MasonInstall black
. - For Markdown, JavaScript, HTML, CSS etc files, install
prettier
using:MasonInstall prettier
.
(Keymaps section is coming soon!)
dino.nvim is licensed under the GNU General Public License Version 3.0 (GPL-3.0). For details, please see the LICENSE file.
- A script to automate the installation process.