Skip to content

BabaVimNeovim Configuration for Academic Workflows

LaTeX, Markdown, Quarto, Typst. Terminal integration. LSP support.

Keymap Examples โ€‹

vim
# Terminal Integration
<C-t>             # Toggle terminal
<Leader>Tt        # Terminal toggle (vertical)
<Leader>Th/Tv/Tf  # Horizontal/Vertical/Float terminal
<C-i>             # Send line to terminal
<C-c>             # Send code block to terminal

# Document Processing
\lv               # LaTeX forward search
\ll               # Compile LaTeX
<Leader>Kp        # Markdown preview
<Leader>Qp        # Quarto preview

# Julia Development
<Leader>Jrv       # Julia REPL (vertical)
<Leader>Jp        # Project status
<Leader>Ji        # Instantiate project

Requirements โ€‹

Essential โ€‹

  • Package Manager:
    • macOS: Homebrew (install here)
    • Arch Linux: pacman (built-in) and yay/paru for AUR
  • Neovim 0.12+ (required for vim.pack)
  • Git
  • Cargo (for blink.cmp compilation)
  • ripgrep, fd (for Telescope)

Document Processing โ€‹

  • LaTeX:
    • macOS: MacTeX or BasicTeX, Skim PDF viewer
    • Arch Linux: texlive-most, Zathura PDF viewer
  • Typst:
    • macOS: brew install typst
    • Arch Linux: yay -S typst (AUR)
  • Markdown: Node.js (for preview)

Language Support โ€‹

  • Julia: 1.9+ with LanguageServer.jl
  • Python: 3.8+ with pyright LSP
  • R: 4.0+ with languageserver package

Installation โ€‹

bash
# Clone configuration
git clone https://github.com/SimonAB/nvim-config.git ~/.config/nvim
cd ~/.config/nvim

# First launch - plugins install automatically
nvim

# Verify installation
nvim

See Installation Guide.

Components โ€‹

Terminal Integration โ€‹

Terminal with code block detection:

  • Toggle: <C-t>, <Leader>Tt
  • Send line/block/selection to terminal
  • Layouts: horizontal, vertical, float
  • Julia REPL: --threads=auto

Document Workflows โ€‹

LaTeX: bidirectional SyncTeX

  • Forward search: Neovim โ†’ PDF (\lv)
  • Inverse search: PDF โ†’ Neovim
    • macOS: Skim (Cmd+Shift+Click)
    • Arch Linux: Zathura (Ctrl+Click)
  • Compilation: latexmk
  • Bibliography management

Quarto: code execution, preview

  • R, Python, Julia code blocks
  • Output: PDF, HTML, Word

Theme Management โ€‹

Theme selection and preview:

  • <Leader>YTp: Theme picker (Telescope)
  • <Leader>Yc: Cycle themes
  • Auto dark mode (system preference)
  • Themes: Catppuccin, OneDark, Tokyo Night, Nord, GitHub

Design Principles โ€‹

  1. Discoverability: WhichKey integration
  2. Consistency: British spelling, logical keymap organisation
  3. Research workflows: Academic document preparation
  4. Maintainability: Modular architecture, documented code

Documentation โ€‹

  1. Quick Start
  2. Installation Guide
  3. Keymaps Reference
  4. LSP Setup

Released under the MIT License.