Skip to content

Shreyit/my-neovim-ds-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Configuration for Data Science & Analytics

A modern Neovim configuration tailored for data science, analytics, and scientific computing.


📦 Key Plugins & Modules

🧬 Data Science & Interactive Tools

  • 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.

🧠 Code Intelligence

  • 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.

🛠️ Productivity & Workflow

  • 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.

📂 Project Structure

.
├── 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


⚡ Quick Start

1. Prerequisites

  • Neovim v0.10+ (v0.12-dev recommended).
  • ImageMagick: Required for terminal image rendering.
  • Python Dependencies:
pip install pynvim jupyter_client cairosvg pillow

2. Installation

git clone https://github.com/Shreyit/my-neovim-ds-config.git ~/.config/nvim

3. Initialization

Open Neovim and run the following commands to install plugins and register remote providers:

:Lazy sync
:UpdateRemotePlugins

About

Neovim configuration optimized for data science and analytics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages