A collection of dark colorschemes for Vim based on VSCode themes. Oscura provides comfortable, eye-friendly dark themes that maintain good contrast and readability.
Based on this great Theme Oscura for VScode. Please go and add a star there https://github.com/narative/oscura
- Oscura: The original dark theme with a deep, rich background (#0B0B0F)
- Oscura Dusk: A slightly lighter variant with enhanced contrast (#131419)
- Two dark themes optimized for long coding sessions
- High contrast for better readability
- Comprehensive syntax highlighting for multiple programming languages
- Enhanced TypeScript/JavaScript support
- Support for common Vim UI elements (status line, line numbers, etc.)
- Git diff highlighting
- Search and visual mode highlighting
- Download the colorscheme files
- Place them in your
~/.vim/colors/
directory (create the directory if it doesn't exist)
mkdir -p ~/.vim/colors
cp oscura.vim ~/.vim/colors/
cp oscura-dusk.vim ~/.vim/colors/
Add this to your .vimrc
:
Plug 'vinitkumar/oscura-vim'
Add this to your Neovim config:
use 'vinitkumar/oscura-vim'
Add this to your Neovim config:
{
'vinitkumar/oscura-vim',
lazy = false, -- Load during startup
}
Add one of these lines to your .vimrc
:
" For the original dark theme
colorscheme oscura
" For the dusk variant
colorscheme oscura-dusk
- Vim 7.4 or later
- True color support (recommended)
- Deeper background (#0B0B0F)
- Classic dark theme aesthetics
- Optimal for low-light environments
- Slightly lighter background (#131419)
- Enhanced contrast for better readability
- Optimized for various lighting conditions
- Updated error and warning colors
- Enhanced TypeScript/JavaScript support
- Create a
kitty
directory in your terminal configuration directory:
mkdir -p ~/.config/kitty/themes
- Copy the theme files:
cp kitty/oscura.conf ~/.config/kitty/themes/
cp kitty/oscura-dusk.conf ~/.config/kitty/themes/
-
To use the theme, you have two options:
Option 1: Add to your
~/.config/kitty/kitty.conf
:# For Oscura theme include themes/oscura.conf # OR for Oscura Dusk theme include themes/oscura-dusk.conf
Option 2: Use Kitty's theme selector:
# For Oscura theme kitty +kitten themes Oscura # OR for Oscura Dusk theme kitty +kitten themes "Oscura Dusk"
- List available themes:
kitty +kitten themes
- Preview and apply the theme:
# For Oscura theme
kitty +kitten themes --reload-in=all Oscura
# For Oscura Dusk theme
kitty +kitten themes --reload-in=all "Oscura Dusk"
The themes will be available in the Kitty Theme Kitten browser, where you can preview and apply them interactively.
- Create the themes directory:
mkdir -p ~/.config/ghostty/themes
- Copy the theme files:
cp ghostty/oscura ~/.config/ghostty/themes/
cp ghostty/oscura-dusk ~/.config/ghostty/themes/
- To use the theme, add one of these lines to your Ghostty config file:
# For Oscura theme
theme = oscura
# OR for Oscura Dusk theme
theme = oscura-dusk
The theme files can be located in:
~/.config/ghostty/themes
(recommended)- You can also use absolute paths in your config file
- Create the required directories:
mkdir -p ~/.nano/syntax
- Copy the theme files:
cp nano/main-oscura.nanorc ~/.nanorc
cp -r nano/syntax/* ~/.nano/syntax/
The theme uses the following color mappings:
- Keywords: yellow
- Functions and Types: green
- Comments: bright blue
- Strings and Numbers: yellow
- Decorators and Special: cyan
- Background: black
- Foreground: white
- Nano's color support is limited to basic terminal colors
- The theme adapts the Oscura color scheme to work within nano's limitations
- For best results, ensure your terminal supports basic colors
- Some terminals may display colors differently
The theme includes comprehensive syntax highlighting for TypeScript:
-
Language Features
- Type annotations and interfaces
- Generics and type parameters
- Decorators
- Modern TypeScript keywords
- JSX/TSX syntax
-
Color Scheme
- Keywords: yellow
- Types and Classes: green
- Type Annotations: cyan
- Decorators: magenta
- Strings: yellow
- Numbers: red
- Comments: bright blue
- Special Characters: magenta
- Function Calls: green
-
File Types
.ts
- TypeScript files.tsx
- TypeScript React files
TypeScript highlighting is automatically enabled for files with .ts
and .tsx
extensions.
For TSX files, ensure your nano version supports JSX syntax highlighting (nano 4.0 or later recommended).
MIT License - see LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.