I have been trying to figure out why my syntax highlighting won’t work in Neovim for two days now.
I have included “syntax on” in my sysinit.vim as well as “filetype plugin indent on” and I get no errors when I run nvim.
When I do an “echo $VIMRUNTIME” I get the proper directory (I think. I used homebrew to install. The path is usr/local/Cellar/neovim/0.1.7/share/nvim/runtime). I have verified that the syntax folder is indeed present in that folder.
However, when I am in neovim I get no highlighting other than a red block for trailing white space. If I run “:syntax” it identifies the proper syntax (testing with python). Another strange occurrence I’ve identified is when I run “:syntax on” from within the editor, the colors get darker. If I turn it back off, nothing changes. As syntax is enabled in the init.vim file, I have no idea why that would change the appearance of the editor.
I’m banging my head against the wall on this. Please help! My init.vim is below. It’s a work in progress!
" Disables Vi compatibility. Vi compatibility mode disables some modern Vim Features. set nocompatible " Enables filetype detection, filetype-specific scripts (ftplugins), " and filetype-specific indent scripts. filetype plugin indent on syntax on " Turns on syntax highlighting set ruler " Show row and column ruler information set number " Show line numbers set spelllang=en " Enable spell-checking set softtabstop=4 " Number of spaces per tab set title " Set the terminal title to the current file set visualbell " Turn on the visual bell set cursorline " Highlight the line under the cursor set hidden " Hide inactive buffers set ttimeoutlen=0 " Eliminate delay when switching modes set expandtab " Converts tabs into spaces " Lazyredraw attempts to solve Vim lag by reducing processing required. When " enabled, any action that is not typed will not cause the screen to redraw. set lazyredraw " Faster redrawing set ttyfast " Don't display the current mode in the status line. " This info is already displayed in the Airline status bar. set noshowmode inoremap jj <esc> " Remaps the esc key to 'jj' inoremap jk <esc> " Remaps the esc key to 'jk' " Disabling all of the cursor keys nnoremap <up> <nop> nnoremap <down> <nop> nnoremap <left> <nop> nnoremap <right> <nop> inoremap <up> <nop> inoremap <down> <nop> inoremap <left> <nop> inoremap <right> <nop> " Changes the cursor shape. (Flashing pipe in insert mode, block in normal node.) let $NVIM_TUI_ENABLE_CURSOR_SHAPE=1 " Colors and Theme Options set termguicolors " Enables "True Color" support silent! colorscheme gruvbox " Sets the color scheme, if present set background=dark " Sets the default background to dark mode let g:gruvbox_contrast_dark="hard" " Changes dark mode contrasts. Possible values are soft, medium, and hard. Default is medium let g:gruvbox_contrast_light="hard" " Changes light mode contrasts. Possible values are soft, medium, and hard. Default is medium let g:gruvbox_italicize_comments=1 " Enables italics for comments let g:gruvbox_italicize_strings=1 " Enables italics for strings
The solution to this is was ridiculously dumb. Apparently when the contrast slider is turned all the way up in iTerm2.. It causes issues with themes. All is working now. Hopefully this post will save someone a lot of headache in the future.
Answered By – Brandon Force
Answer Checked By – David Marino (AngularFixing Volunteer)