A modern Neovim configuration tailored for data science, analytics, and scientific computing.
- molten-nvim: Manages Jupyter kernels and handles interactive cell execution directly within the buffer.
- image.nvim: The core graphics engine that renders plots and images. It is configured to automatically switch between inline and popup rendering based on the terminal environment.
- R.lua: Comprehensive integration for the R language and Quarto documents, essential for statistical analysis.
- vim-slime: Sends code from your buffer to a REPL or terminal pane.
- LSP (Language Server Protocol): Provides "IDE-like" features such as autocompletion, go-to-definition, and real-time error checking for Python and R.
- nvim-treesitter: Advanced syntax highlighting that understands code structure for more readable data scripts.
- nvim-cmp: A fast and extensible completion engine for snippets and code suggestions.
- auto-session: Automatically saves and restores your workspace, including all open files and layout.
- telescope.nvim: A powerful fuzzy finder for quickly locating files, code symbols, and git commits.
- nvim-tree.lua: A fast file explorer for managing your project directory.
.
├── init.lua # Main entry point
├── lazy-lock.json # Plugin lockfile (version tracking)
├── README.md # Project documentation
└── lua/
└── shreyit/ # Personal namespace
├── core/ # Fundamental settings
│ ├── keymaps.lua # Global shortcuts
│ ├── options.lua # Vim options (indentation, swapfiles)
│ └── ui.lua # Interface tweaks
└── plugins/ # Plugin specifications
├── molten.lua # Jupyter/Interactive kernel
├── image.lua # Terminal image rendering
├── R.lua # R and Quarto integration
├── lsp.lua # Language servers (Python/R)
└── ... # UI and utility plugins
- Neovim v0.10+ (v0.12-dev recommended).
- ImageMagick: Required for terminal image rendering.
- Python Dependencies:
pip install pynvim jupyter_client cairosvg pillow
git clone https://github.com/Shreyit/my-neovim-ds-config.git ~/.config/nvim
Open Neovim and run the following commands to install plugins and register remote providers:
:Lazy sync
:UpdateRemotePlugins