spaceduck
spaceduck copied to clipboard
🚀 🦆 An intergalactic space theme for Vim, Terminal, and more!
Spaceduck 🚀🦆


Inspiration 💭
This theme was inspired from my incessant desire to feel like I'm in space when I stare at a computer. "Spaceduck" takes its name from my love of duck dodgers as a kid.
If it looks ugly it's because I don't know what I'm doing pls help. If it's the sexiest thing you've ever seen, well then uhm.. you're welcome 😎
NOTE: This repo hosts the Vim/Neovim spaceduck theme, to install other ports look for the other ports below.
Colors Palette 🎨
Base Colors
Note: The Syntax color ID's are not an exhaustive & complete list.
![]() |
Palette | Hex | HSV/HSB | RGB | cterm/256 | SYN ID |
---|---|---|---|---|---|---|
![]() |
Red | #e33400 |
14,100,89 |
227, 52, 0 |
166 |
Error, Ignore |
![]() |
Orange | #e39400 |
39,100,89 |
227, 148, 0 |
172 |
Exception, Keyword, SpecialChar |
![]() |
Green | #5ccc96 |
151,55,80 |
92, 204, 150 |
78 |
Statement, Underlined, Function, Include, Conditonal |
![]() |
Yellow | #f2ce00 |
51,100,95 |
242, 206, 0 |
220 |
Constant, Boolean, Character, Float, Number |
![]() |
Purple | #b3a1e6 |
256,30,90 |
179, 161, 230 |
146 |
PreProc, Special, Tag, Debug, StorageClass |
![]() |
Purple2 | #7a5ccc |
256,55,80 |
122, 92, 204 |
98 |
Title, Define, Macro, Define, Precondit, (Operator) |
![]() |
Dark Purple | #30365F |
232, 49, 37 |
48, 54, 95 |
237 |
Comment, LineNR, MatchParen, EndOfBuffer, Pmenu, IncSearch |
![]() |
Dark Purple2 | #686f9a |
232,32,60 |
104, 111, 154 |
60 |
Todo, PmenuSbar, Conceal, Search |
![]() |
Cyan | #00a3cc |
192,100,80 |
0, 163, 204 |
38 |
Identifier, String, Structure, Typedef |
![]() |
Magenta | #ce6f8f |
340,46,81 |
206, 111, 143 |
168 |
Type, Delimeter, Operator |
Special Colors
![]() |
Palette | Hex | HSV/HSB | RGB | cterm/256 | SYN ID |
---|---|---|---|---|---|---|
![]() |
Background | #0f111b |
230,44,11 |
15, 17, 27 |
233 |
Background |
![]() |
Foreground | #ecf0c1 |
65,20,94 |
236, 240, 193 |
255 |
Foregrond, Delimiter |
![]() |
Visual Selection | #1b1c36 |
238, 50, 21 |
27, 28, 54 |
234 |
Visual |
![]() |
Cursor Line | #16172d |
237,51,18 |
22, 23, 45 |
234 |
CursorLine |
Coloration Colors
![]() |
Palette | Hex | HSV/HSB | RGB | cterm/256 | SYN ID |
---|---|---|---|---|---|---|
![]() |
Grey | #818596 |
229,14,59 |
129, 133, 150 |
102 |
Cursor, Tabline |
![]() |
Grey 2 | #c1c3cc |
229,5,80 |
193, 195, 204 |
251 |
TabLineSel |
![]() |
Pure White | #ffffff |
0,0,100 |
255, 255, 255 |
15 |
Search, Todo |
![]() |
Pure Black | #000000 |
0,0,0 |
0, 0, 0 |
0 |
VertSplit, TabLine |
Current Language Support
Basically languages I looked at with my eyes to make sure they didn't look like poop.
Languages:
Note: if something looks off please submit an issue with a screenshot
- C, C++, fortran, haskell, html, java, javascript, markdown, php, python, ruby, sql, LaTeX, typescript
Plugins:
Install 💾
If using Vim/Neovim I recommend installing the vim-polyglot plugin for improved syntax highlighting:
Plug 'sheerun/vim-polyglot'
Vim and Neovim
This repo hosts the Vim/Neovim color scheme.
Install the plugin with whatever plugin manager you use:
Plug 'pineapplegiant/spaceduck', { 'branch': 'main' }
And add this to your vimrc/init.vim configuration file:
if exists('+termguicolors')
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
endif
colorscheme spaceduck
Or manually add the color theme to your 'runtimepath' for the file.
:h colors
let g:airline_theme = 'spaceduck'




let g:lightline = {
\ 'colorscheme': 'spaceduck',
\ }
Don't be afraid of the vim documentation either for more information, like for manual installs!
:h colorscheme




You only really need 'theme': 'spaceduck'
, but this is what I have in my vimrc:
let g:lualine = {
\'options' : {
\ 'theme' : 'spaceduck',
\ 'section_separators' : ['', ''],
\ 'component_separators' : ['', ''],
\ 'icons_enabled' : v:true,
\},
\'sections' : {
\ 'lualine_a' : [ ['mode', {'upper': v:true,},], ],
\ 'lualine_b' : [ ['branch', {'icon': '',}, ], ],
\ 'lualine_c' : [ ['filename', {'file_status': v:true,},], ],
\ 'lualine_x' : [ 'encoding', 'fileformat', 'filetype' ],
\ 'lualine_y' : [ 'progress' ],
\ 'lualine_z' : [ 'location' ],
\},
\'inactive_sections' : {
\ 'lualine_a' : [ ],
\ 'lualine_b' : [ ],
\ 'lualine_c' : [ 'filename' ],
\ 'lualine_x' : [ 'location' ],
\ 'lualine_y' : [ ],
\ 'lualine_z' : [ ],
\},
\'extensions' : [ 'fzf' ],
\}
lua require("lualine").setup()
Other Spaceduck Ports
Terminal
Terminal install can be found at this repo: https://github.com/pineapplegiant/spaceduck-terminal
VSCode
Vscode theme can be found at this repo: https://github.com/tathran/spaceduck-vscode
Emacs
Emacs theme can be found at this repo: https://github.com/tathran/spaceduck-emacs
Slack
- Go to User Menu > Preferences > Sidebar Theme
- In the bottom of the window, look for a "customize your theme and share it with others" link
- Copy and paste the values below:
-
#0f111b,#7A5CCC,#7A5CCC,#ffffff,#16172D,#ecf0c1,#5CCC96,#00A3CC,#0f111b,#ecf0c1
-
Tmux
Checkout some tmux config inspiration here at the terminal repo. Or if you're in a rush you can use this basic one:
# Basic color support setting
set-option -g default-terminal "screen-256color"
# Default bar color
set-option -g status-style bg='#1b1c36',fg='#ecf0c1'
# Active Pane
set -g pane-active-border-style "fg=#5ccc96"
# Inactive Pane
set -g pane-border-style "fg=#686f9a"
# Active window
set-option -g window-status-current-style bg='#686f9a',fg='#ffffff'
# Message
set-option -g message-style bg='#686f9a',fg='#ecf0c1'
set-option -g message-command-style bg='#686f9a',fg='#ecf0c1'
# When Commands are run
set -g message-style "fg=#0f111b,bg=#686f9a"
Troubleshooting 🔧
True color
Make sure you are using a terminal emulator that supports truecolor
.
Read more about truecolor support here.
Colors don't look right
If you are running vim
within tmux
, you may run into some truecolor
issues.
To fix, add this to you tmux.conf
:
set -g terminal-overrides ',xterm-256color:Tc'
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',xterm*:sitm=\E[3m'
And in your .bash_profile or .zshrc
:
export TERM="xterm-256color"
Screenshots 📸



Credits 💳
- Iceberg - Gave me the blueprint for developing a lovely colorscheme.
- Hallski's spacedust theme - first theme to inspire me with space waaaay back when.
- Rigel - Showed me the ways of using Estilo to manage colors & that sexy themes can exist.
- Looking for other colorschemes? Check out vim colors or colorswat.ch!
Contribute 🙏
If you'd like to contribute please reach out! I don't know what I'm doing. Try to send a screenshot when posting issues as well. If you port it to whatever you're using, send me a link so I can link it here!
Vim Estilo
I currently use estilo to manage colors for Vim/Neovim, please install the dependencies to compile the colors specified in the YAML into the color scheme.
To find the current syntax element under the cursor, I use this mapping which maps Ctrl+a to find the id under the cursor:
" Show syntax color highlighting groups for word under cursor
nmap <c-a> :call <SID>SynStack()<CR>
function! <SID>SynStack()
if !exists("*synstack")
return
endif
echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
endfunction
This will show you the syntax ID to where we can then modify the color of that word.
Testing colors look good
- To test that colors look good, you can run:
:source $VIMRUNTIME/syntax/hitest.vim
this will open a buffer of all color groups defined! - Check current defined colors in buffer
:highlight
or:hi
for short. - Looking for more syntax elements? Check out
$VIMRUNTIME/syntax/
for all of vim's language support.
TODO
Check out my Todo list