|
1 | | -# Oscura Vim Colorscheme |
| 1 | +# Oscura Vim Colorscheme Collection |
2 | 2 |
|
3 | | -A dark colorscheme for Vim based on a VSCode theme. Oscura provides a comfortable, eye-friendly dark theme that maintains good contrast and readability. |
| 3 | +A comprehensive collection of colorschemes for Vim/Neovim based on the popular VSCode Oscura theme. This collection provides comfortable, eye-friendly themes that maintain excellent contrast and readability for both dark and light environments. |
4 | 4 |
|
5 | | -Based on this great Theme [Oscura](https://marketplace.visualstudio.com/items?itemName=Fey.oscura) for VScode. Please go and add a star there https://github.com/narative/oscura |
| 5 | +> **Based on:** [Oscura](https://marketplace.visualstudio.com/items?itemName=Fey.oscura) for VSCode by Fey. Please show your support by starring the [original repository](https://github.com/narative/oscura)! |
6 | 6 |
|
7 | | -## Screenshot |
| 7 | +## 🌟 Available Themes |
8 | 8 |
|
9 | | - |
10 | | - |
| 9 | +### 🌙 Dark Themes |
11 | 10 |
|
12 | | -## Features |
| 11 | +#### `oscura` - Classic Dark |
| 12 | +The original dark theme, perfect for low-light environments and extended coding sessions. Features a balanced color palette with excellent contrast. |
13 | 13 |
|
14 | | -- Dark theme optimized for long coding sessions |
15 | | -- High contrast for better readability |
16 | | -- Syntax highlighting for multiple programming languages |
17 | | -- Support for common Vim UI elements (status line, line numbers, etc.) |
18 | | -- Git diff highlighting |
19 | | -- Search and visual mode highlighting |
| 14 | +#### `oscura-dusk` - Dark Dusk |
| 15 | +A warmer dark variant with dusk-inspired colors. Ideal for those who prefer warmer tones while maintaining the dark aesthetic. |
20 | 16 |
|
21 | | -## Installation |
| 17 | +### ☀️ Light Themes |
22 | 18 |
|
23 | | -### Manual Installation |
| 19 | +#### `oscura-light` - Classic Light |
| 20 | +A clean, modern light theme designed for bright environments. Provides excellent readability with a professional appearance. |
24 | 21 |
|
25 | | -1. Download the `oscura.vim` file |
26 | | -2. Place it in your `~/.vim/colors/` directory (create the directory if it doesn't exist) |
| 22 | +#### `oscura-dusk-light` - Light Dusk |
| 23 | +A warm light variant with dusk-inspired colors. Perfect for users who want the benefits of a light theme with warmer, more comfortable tones. |
27 | 24 |
|
28 | | -```bash |
29 | | -mkdir -p ~/.vim/colors |
30 | | -cp oscura.vim ~/.vim/colors/ |
31 | | -``` |
| 25 | +## 📸 Screenshots |
| 26 | + |
| 27 | +### Dark Themes |
| 28 | +| oscura (Dark) | oscura-dusk (Dark Dusk) | |
| 29 | +|---------------|-------------------------| |
| 30 | +|  |  | |
| 31 | + |
| 32 | +### Light Themes |
| 33 | +| oscura-light | oscura-dusk-light | |
| 34 | +|--------------|-------------------| |
| 35 | +|  |  | |
| 36 | + |
| 37 | +## ✨ Features |
| 38 | + |
| 39 | +- **4 Complete Themes**: 2 dark + 2 light variants |
| 40 | +- **Optimized for Productivity**: Designed for long coding sessions |
| 41 | +- **High Contrast**: Excellent readability in all lighting conditions |
| 42 | +- **Comprehensive Syntax Highlighting**: Support for 50+ programming languages |
| 43 | +- **Modern UI Support**: Status lines, line numbers, popup menus, and more |
| 44 | +- **Git Integration**: Enhanced diff highlighting and merge conflict markers |
| 45 | +- **Search & Visual Mode**: Clear highlighting for search results and selections |
| 46 | +- **Plugin Compatibility**: Works with popular plugins like LSP, Treesitter, and more |
32 | 47 |
|
33 | | -### Using a Plugin Manager |
| 48 | +## 🚀 Installation |
| 49 | + |
| 50 | +### Method 1: Plugin Manager (Recommended) |
34 | 51 |
|
35 | 52 | #### Vim-Plug |
36 | | -Add this to your `.vimrc`: |
| 53 | +Add to your `.vimrc`: |
37 | 54 | ```vim |
38 | 55 | Plug 'vinitkumar/oscura-vim' |
39 | 56 | ``` |
40 | 57 |
|
41 | | -#### Packer |
42 | | -Add this to your Neovim config: |
| 58 | +#### Packer.nvim |
| 59 | +Add to your Neovim config: |
43 | 60 | ```lua |
44 | 61 | use 'vinitkumar/oscura-vim' |
45 | 62 | ``` |
46 | 63 |
|
47 | 64 | #### Lazy.nvim |
48 | | -Add this to your Neovim config: |
| 65 | +Add to your Neovim config: |
49 | 66 | ```lua |
50 | 67 | { |
51 | 68 | 'vinitkumar/oscura-vim', |
52 | | - lazy = false, -- Load during startup |
| 69 | + lazy = false, -- Load during startup for immediate availability |
53 | 70 | } |
54 | 71 | ``` |
55 | 72 |
|
56 | | -## Usage |
| 73 | +#### Vundle |
| 74 | +Add to your `.vimrc`: |
| 75 | +```vim |
| 76 | +Plugin 'vinitkumar/oscura-vim' |
| 77 | +``` |
| 78 | + |
| 79 | +### Method 2: Manual Installation |
| 80 | + |
| 81 | +1. **Clone or download** this repository |
| 82 | +2. **Copy the theme files** to your colors directory: |
| 83 | + |
| 84 | +```bash |
| 85 | +# For Vim |
| 86 | +mkdir -p ~/.vim/colors |
| 87 | +cp colors/oscura*.vim ~/.vim/colors/ |
| 88 | + |
| 89 | +# For Neovim |
| 90 | +mkdir -p ~/.config/nvim/colors |
| 91 | +cp colors/oscura*.vim ~/.config/nvim/colors/ |
| 92 | +``` |
| 93 | + |
| 94 | +### Method 3: Download Individual Themes |
| 95 | + |
| 96 | +If you only want specific themes, download them individually: |
| 97 | + |
| 98 | +```bash |
| 99 | +# Download specific themes |
| 100 | +curl -o ~/.vim/colors/oscura.vim https://raw.githubusercontent.com/vinitkumar/oscura-vim/main/colors/oscura.vim |
| 101 | +curl -o ~/.vim/colors/oscura-light.vim https://raw.githubusercontent.com/vinitkumar/oscura-vim/main/colors/oscura-light.vim |
| 102 | +# ... and so on for other themes |
| 103 | +``` |
| 104 | + |
| 105 | +## 🎨 Usage |
| 106 | + |
| 107 | +### Basic Usage |
| 108 | + |
| 109 | +Add one of these lines to your `.vimrc` or Neovim config: |
57 | 110 |
|
58 | | -Add this line to your `.vimrc`: |
59 | 111 | ```vim |
| 112 | +" Dark themes |
| 113 | +colorscheme oscura " Classic dark |
| 114 | +colorscheme oscura-dusk " Dark dusk variant |
| 115 | +
|
| 116 | +" Light themes |
| 117 | +colorscheme oscura-light " Classic light |
| 118 | +colorscheme oscura-dusk-light " Light dusk variant |
| 119 | +``` |
| 120 | + |
| 121 | +### Advanced Configuration |
| 122 | + |
| 123 | +#### Auto-switching Based on Time |
| 124 | +```vim |
| 125 | +function! SetOscuraTheme() |
| 126 | + let hour = str2nr(strftime('%H')) |
| 127 | + if hour >= 6 && hour < 18 |
| 128 | + " Daytime - use light theme |
| 129 | + colorscheme oscura-light |
| 130 | + else |
| 131 | + " Nighttime - use dark theme |
| 132 | + colorscheme oscura |
| 133 | + endif |
| 134 | +endfunction |
| 135 | +
|
| 136 | +" Call on startup |
| 137 | +call SetOscuraTheme() |
| 138 | +
|
| 139 | +" Optional: Auto-switch every hour |
| 140 | +autocmd CursorHold * call SetOscuraTheme() |
| 141 | +``` |
| 142 | + |
| 143 | +#### Neovim Lua Configuration |
| 144 | +```lua |
| 145 | +-- In your init.lua or colorscheme config |
| 146 | +local function set_oscura_theme() |
| 147 | + local hour = tonumber(os.date('%H')) |
| 148 | + if hour >= 6 and hour < 18 then |
| 149 | + vim.cmd('colorscheme oscura-light') |
| 150 | + else |
| 151 | + vim.cmd('colorscheme oscura') |
| 152 | + end |
| 153 | +end |
| 154 | + |
| 155 | +-- Set theme on startup |
| 156 | +set_oscura_theme() |
| 157 | + |
| 158 | +-- Optional: Auto-switch every hour |
| 159 | +vim.timer.start(3600000, set_oscura_theme, {repeat = true}) |
| 160 | +``` |
| 161 | + |
| 162 | +#### Terminal Integration |
| 163 | +For better terminal integration, ensure your terminal supports true colors: |
| 164 | + |
| 165 | +```vim |
| 166 | +" Add to your .vimrc |
| 167 | +set termguicolors |
| 168 | +set background=dark " or 'light' for light themes |
60 | 169 | colorscheme oscura |
61 | 170 | ``` |
62 | 171 |
|
63 | | -## Requirements |
| 172 | +## 🔧 Requirements |
| 173 | + |
| 174 | +- **Vim**: 7.4 or later |
| 175 | +- **Neovim**: 0.5 or later |
| 176 | +- **Terminal**: True color support (recommended) |
| 177 | +- **GUI**: Any Vim GUI (GVim, MacVim, etc.) |
| 178 | + |
| 179 | +### Checking True Color Support |
| 180 | +```bash |
| 181 | +# Test if your terminal supports true colors |
| 182 | +curl -s https://raw.githubusercontent.com/termstandard/colors/master/256colors2.pl | perl |
| 183 | +``` |
| 184 | + |
| 185 | +## 🎯 Plugin Compatibility |
| 186 | + |
| 187 | +These themes work well with popular plugins: |
| 188 | + |
| 189 | +- **LSP**: Language Server Protocol highlighting |
| 190 | +- **Treesitter**: Advanced syntax highlighting |
| 191 | +- **Git**: Fugitive, Gitsigns, etc. |
| 192 | +- **Status Lines**: Lightline, Airline, Lualine |
| 193 | +- **File Explorers**: NERDTree, Nvim-tree |
| 194 | +- **Fuzzy Finders**: FZF, Telescope |
| 195 | + |
| 196 | +## 🤝 Contributing |
| 197 | + |
| 198 | +Contributions are welcome! Here's how you can help: |
| 199 | + |
| 200 | +1. **Report Issues**: Found a bug or have a suggestion? Open an issue! |
| 201 | +2. **Submit Pull Requests**: Improvements, new features, or bug fixes |
| 202 | +3. **Share Screenshots**: Show off your setup with different themes |
| 203 | +4. **Improve Documentation**: Help make the README even better |
| 204 | + |
| 205 | +### Development Setup |
| 206 | +```bash |
| 207 | +git clone https://github.com/vinitkumar/oscura-vim.git |
| 208 | +cd oscura-vim |
| 209 | +# Make your changes |
| 210 | +# Test with: vim -u NONE -c 'colorscheme oscura' |
| 211 | +``` |
| 212 | + |
| 213 | +## 📄 License |
64 | 214 |
|
65 | | -- Vim 7.4 or later |
66 | | -- True color support (recommended) |
| 215 | +MIT License - see [LICENSE](LICENSE) file for details. |
67 | 216 |
|
68 | | -## License |
| 217 | +## 🙏 Acknowledgments |
69 | 218 |
|
70 | | -MIT License - see LICENSE file for details |
| 219 | +- **Original Theme**: [Oscura](https://github.com/narative/oscura) by Fey |
| 220 | +- **VSCode Extension**: [Oscura](https://marketplace.visualstudio.com/items?itemName=Fey.oscura) |
| 221 | +- **Community**: All contributors and users who provide feedback |
71 | 222 |
|
72 | | -## Contributing |
| 223 | +--- |
73 | 224 |
|
74 | | -Contributions are welcome! Please feel free to submit a Pull Request. |
| 225 | +**⭐ If you like this colorscheme collection, please give it a star!** |
0 commit comments