Skip to content

Neovim Research ConfigurationPerformance-Optimised for Academic Workflows

LaTeX, Markdown, Quarto, Typst with integrated terminal and LSP support

Quick Example โ€‹

vim
# Terminal Integration
<C-t>             # Toggle terminal
<Leader>Tt        # Smart 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

Performance Metrics โ€‹

  • Startup Time: 88ms (16% improvement from 105ms)
  • Plugin Loading: 63ms (20% improvement from 79ms)
  • Core Configuration: 2ms (92% improvement from 26ms)

Requirements โ€‹

Essential โ€‹

  • Homebrew: Package manager for macOS (install here)
  • Neovim 0.12+ (required for vim.pack)
  • Git
  • Cargo (for blink.cmp compilation)
  • ripgrep, fd (for Telescope)

Document Processing โ€‹

  • LaTeX: MacTeX or BasicTeX, Skim PDF viewer (macOS)
  • Typst: brew install typst
  • 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 --startuptime /tmp/startup.log -c quit

See the Installation Guide for complete setup instructions.

Key Features โ€‹

Terminal Integration โ€‹

Smart terminal with code block detection and execution:

  • Toggle terminal with <C-t> or <Leader>Tt
  • Send lines, blocks, or selections to terminal
  • Multiple terminal layouts (horizontal, vertical, float)
  • Julia REPL with --threads=auto for parallel computing

Document Workflows โ€‹

Complete LaTeX workflow with bidirectional SyncTeX:

  • Forward search: Neovim โ†’ PDF (\lv)
  • Inverse search: PDF โ†’ Neovim (Cmd+Shift+Click in Skim)
  • Automatic compilation with latexmk
  • Bibliography management

Quarto integration for reproducible research:

  • Live preview with code execution
  • Support for R, Python, Julia code blocks
  • Render to PDF, HTML, or Word

Theme Management โ€‹

Beautiful theme system with live preview:

  • <Leader>Ytp - Theme picker with Telescope
  • <Leader>Yc - Cycle through themes
  • Auto dark mode based on system preference
  • Themes: Catppuccin, OneDark, Tokyo Night, Nord, GitHub

Philosophy โ€‹

This configuration prioritises:

  1. Performance: Fast startup, efficient plugin loading
  2. Discoverability: WhichKey integration for keymap discovery
  3. Consistency: British spelling, logical keymap organisation
  4. Research Workflows: Optimised for academic document preparation
  5. Maintainability: Clean, documented code with modular architecture

Next Steps โ€‹

  1. Quick Start - Get started in 10 minutes
  2. Installation Guide - Complete setup instructions
  3. Keymaps Reference - All available keymaps
  4. LSP Setup - Language server configuration

Released under the MIT License.