Awesome
Enfocado for Vim
Enfocado is more than a theme, it is a concept of "how themes should be", focusing on what is really important to developers: the code and nothing else.
What you won't have if you don't install Enfocado:
- CIELAB Colors: use of the well-founded Selenized color scheme created with the magic of the CIELAB color space. Learn about its features and design in its official repository.
- Human Writing: human writing is simulated by using italic typeface for syntax groups (comments, methods, structs, and more ...) that are generally named and written in human language.
- Minimal Syntax: only three colors are used to highlight syntax, following the color guidelines for web design, which state that only three main colors should be used in interfaces, no more.
- Signal Alerts: the yellow, orange and red colors are reserved to be used only with important alerts, following the standards for the meanings of the signal colors in the industrial area.
- Styles: choose the style that best suits your personality:
Table of Contents
Requirements
Installation
Install via your preferred package manager. Example using vim-plug:
Plug 'wuelnerdotexe/vim-enfocado'
Usage
Statuslines
To use Lightline theme:
let g:lightline = { 'colorscheme': 'enfocado' }
To use Lualine theme:
require('lualine').setup { options = { theme = 'enfocado' } }
To use Airline theme:
let g:airline_theme = 'enfocado'
Colorscheme
First, if you have true color support, enable it:
set termguicolors
Otherwise, enable 256 terminal color support:
set t_Co=256
Choose between light or dark theme:
set background={light or dark}
Then choose your favorite Enfocado style, for example:
let g:enfocado_style = 'neon' " Available: `nature` or `neon`.
If you want to reduce the loading time of Enfocado, you can specify the plugins you want to apply the theme to on demand:
" NOTE: To see a list of all available plugins, run
" `:h enfocado-colorscheme` at the vim commandline.
let g:enfocado_plugins = [
\ 'animate',
\ 'bufferline',
\ 'cmp',
\ 'dap-ui',
\ 'edgy',
\ 'flash',
\ 'gitsigns',
\ 'highlight-undo',
\ 'illuminate',
\ 'indentscope',
\ 'indent-blankline',
\ 'lazy',
\ 'lspconfig',
\ 'lsp-lens',
\ 'mason',
\ 'navic',
\ 'neo-tree',
\ 'noice',
\ 'null-ls',
\ 'substitute',
\ 'surround',
\ 'rainbow-delimiters',
\ 'telescope',
\ 'treesitter',
\ 'treesitter-context',
\ 'ufo',
\ 'visual-multi',
\ 'yanky'
\ ]
And finally turn on the Enfocado theme and enjoy!
colorscheme enfocado
Customization
Like all colorschemes, Enfocado is easy to customize with autocmd
. Make use of the ColorScheme
event as in the following examples.
It would be a good idea to put all of your personal changes in an augroup
, which you can do with the following code:
augroup enfocado_customization
autocmd!
" autocmds...
augroup END
To make the background transparent, you can use the following:
augroup enfocado_customization
autocmd!
autocmd ColorScheme enfocado highlight Normal ctermbg=NONE guibg=NONE
augroup END
NOTE: The usage codes must be written in your .vimrc
or init.vim
.
Syntax
Master your theme, understand and recognize syntax, improve your muscle memory.
SELENIZED COLOR | HEX COLOR | HEX COLOR (light) | TEXT TYPE | NATURE SYNTAX TOKENS | NEON SYNTAX TOKENS |
---|---|---|---|---|---|
Dimmed | #777777 | #878787 | Italic | Comments | Comments |
Foreground 0 | #b9b9b9 | #474747 | NONE | Constants, punctuation, text | Constants, punctuation, text |
Foreground 1 | #dedede | #282828 | Bold | Titles | Titles |
Red | #ed4a46 | #d6000c | NONE | ||
Yellow | #dbb32d | #c49700 | NONE | Constant identifiers | Constant identifiers |
Green | #70b433 | #1d9700 | NONE | Identifiers | Built-in identifiers |
Blue | #368aeb | #0064e4 | NONE | Keywords | Built-in keywords |
Magenta | #eb6eb7 | #dd0f9d | NONE | Built-in identifiers | Identifiers |
Cyan | #3fc5b7 | #00ad9c | NONE | Strings | Strings |
Orange | #e67f43 | #d04a00 | NONE | Exceptions (trycatch ) | Exceptions (trycatch ) |
Violet | #a580e2 | #7f51d6 | NONE | Built-in keywords | Keywords |
Bright red | #ff5e56 | #bf0000 | Bold | Errors | Errors |
Bright yellow | #efc541 | #af8500 | NONE | ||
Bright green | #83c746 | #008400 | Italic | Methods | Built-in methods |
Bright blue | #4f9cfe | #0054cf | Bold | Types | Built-in types |
Bright magenta | #ff81ca | #c7008b | Italic | Built-in methods | Methods |
Bright cyan | #56d8c9 | #009a8a | Underline | Links | Links |
Bright orange | #fa9153 | #ba3700 | NONE | ||
Bright violet | #b891f5 | #6b40c3 | Bold | Built-in types | Types |
DISCLAIMER: Enfocado doesn't customize individual tokens for each language, it just defines the default base, if your syntax doesn't look as described here, it's not our responsibility, it's the responsibility of those who assign wrong tokens to some language's syntax, and we don't correct those problems constantly.
Recommendations
Tree-sitter
If you are on Neovim, it is strongly recommended that you use nvim-treesitter to ensure that your syntax highlighting is as close as possible to what is described above.
Fonts
In order for the human text simulation to work as it should, I recommend that you use either of these three beautiful fonts, which align with the "Mankind and Machine" concept.
Configs
This vim configs comes with Enfocado for Vim already installed by default!
Extras
Maintainer
Hi π, I'm Wuelner, a software developer from Guatemala, passionate about creating minimalist solutions using solid fundamentals focused on "how things should be".
Contributing
All your ideas and suggestions are welcome! π
Let me see your captures and let me know what you think with the hashtag #HowThemesShouldBe. π
And of course, if you want to motivate me to constantly improve this theme, your donations are welcome at PayPal. ππ
Plugins
The following plugins are supported:
- aerial.nvim
- ale
- bufferline.nvim
- coc.nvim
- copilot.vim
- ctrlp
- nvim-dap-ui
- dashboard-nvim
- edgy.nvim.
- fern.vim
- flash.nvim.
- fold-preview.nvim
- fzf.vim
- gitsigns.nvim
- glyph-palette.vim
- headlines.nvim
- highlight-undo.nvim.
- indent-blankline
- lazy.nvim
- lightline.vim
- lsp-lens.nvim.
- lualine.nvim
- mason.nvim
- mini.indentscope.
- mini.animate.
- neo-tree
- nerdtree
- noice.nvim
- null-ls.nvim
- nvim-cmp
- nvim-lspconfig
- nvim-navic.
- nvim-notify
- nvim-scrollview
- nvim-surround
- nvim-tree.lua
- nvim-treesitter
- nvim-treesitter-context.
- nvim-ufo.
- packer.nvim
- rainbow
- rainbow-delimiters.nvim
- SmoothCursor.nvim
- substitute.nvim
- telescope.nvim
- todo-comments.nvim
- vim-airline
- vim-better-whitespace
- vim-floaterm
- vim-gitgutter
- vim-illuminate
- vim-matchup
- vim-plug
- vim-signify
- vim-startify
- vim-visual-multi
- vista.vim
- which-key.nvim
- yanky.nvim
Credits
- Theme colorscheme by Jan Warchol on Github.
- Enfocado Nature wallpaper by Josefin on Unsplash.
- Enfocado Neon wallpaper by Dilyara Garifullina on Unsplash.