Vinit Kumar

Oscura Vim - My New Favorite Theme Collection

March 28, 2025

I’ve been coding for quite a while now, and one thing that really matters is having a comfortable theme that doesn’t strain your eyes. I recently created Oscura Vim, a port of the excellent Oscura Theme for VSCode by the Fey team. The original theme’s meticulously curated accent colors and precisely balanced contrast inspired me to bring this sophisticated coding environment to Vim users. I also sought permission from them before publishing my port.

Why Another Theme Collection?

Let’s be honest - there are countless themes out there. However, Oscura (originally crafted by the Fey team) stands out because it actually solves real problems. Following the original design principles, I’ve maintained four variants in the Vim port:

🌙 Dark Themes

  • Oscura: A deep, rich dark background (#0B0B0F) that’s perfect for late-night coding sessions

oscura

  • Oscura Dusk: A slightly lighter variant (#131419) that works well in various lighting conditions

oscura-dusk

☀️ Light Themes (NEW!)

I’m excited to announce that I’ve added two new light mode variants to the collection:

  • Oscura Light: A clean, modern light theme designed for bright environments. Provides excellent readability with a professional appearance.

oscura-light

  • Oscura Dusk Light: A warm light variant with dusk-inspired colors. Perfect for users who want the benefits of a light theme with warmer, more comfortable tones.

oscura-dusk-light

What I particularly love about this theme collection is its high contrast and readability across all variants. When you’re debugging a tricky issue or reviewing pull requests, the last thing you want is eye strain from poor color choices.

Installation and Setup

Setting up Oscura is straightforward. If you’re using Vim-Plug like I do, just add this to your .vimrc:

Plug 'vinitkumar/oscura-vim'

For Neovim users with Lazy.nvim (my current setup), you can configure it like this:

{ 'vinitkumar/oscura-vim', lazy = false, -- We want the theme available at startup }

After installation, activate any of the four themes by adding one of these lines to your .vimrc:

" Dark themes colorscheme oscura " Classic dark colorscheme oscura-dusk " Dark dusk variant " Light themes (NEW!) colorscheme oscura-light " Classic light colorscheme oscura-dusk-light " Light dusk variant

Auto-switching Based on Time

You can even set up automatic theme switching based on the time of day:

function! SetOscuraTheme() let hour = str2nr(strftime('%H')) if hour >= 6 && hour < 18 " Daytime - use light theme colorscheme oscura-light else " Nighttime - use dark theme colorscheme oscura endif endfunction " Call on startup call SetOscuraTheme()

What Makes It Special?

Having used this theme collection for a while now, here’s what stands out:

  • 4 Complete Themes: 2 dark + 2 light variants to suit any preference or lighting condition
  • Optimized for Productivity: Designed for long coding sessions with excellent eye comfort
  • High Contrast: Excellent readability in all lighting conditions
  • Comprehensive Syntax Highlighting: Support for 50+ programming languages
  • Modern UI Support: Status lines, line numbers, popup menus, and more
  • Git Integration: Enhanced diff highlighting and merge conflict markers
  • Search & Visual Mode: Clear highlighting for search results and selections
  • Plugin Compatibility: Works with popular plugins like LSP, Treesitter, and more

Real-world Usage

I’ve been using Oscura during my daily coding sessions, and it’s made a noticeable difference. The theme maintains good contrast even during those long debugging sessions when you’re trying to track down a particularly nasty bug. The enhanced TypeScript support is particularly useful since that’s what I work with most days.

With the new light themes, I can now seamlessly switch between dark and light modes depending on my environment. The light variants are perfect for bright office environments or daytime coding, while the dark themes remain ideal for late-night sessions.

Sometimes, I switch between the original Oscura and Oscura Dusk depending on the time of day and lighting conditions. The Dusk variants work better during transitional periods, while the classic variants are perfect for consistent lighting environments.

A Note on Requirements

Make sure your Vim setup supports true colors - it makes a huge difference in how the theme renders. You’ll need Vim 7.4 or later, but honestly, you should be on a much newer version anyway.

If you’re looking for a comfortable, eye-friendly theme collection that doesn’t compromise on readability and offers both dark and light options, give Oscura a try. It’s become an essential part of my development setup, and I think you’ll appreciate it too.

Credits

This Vim colorscheme collection is based on the Oscura Theme for VSCode created by the Fey team. Their original design’s color palette and principles guided this Vim port. If you’re a VSCode user, I highly recommend checking out their original theme.

Cheers! 🤘


© 2025, Vinit Kumar