Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

set vim background transparent

I am using the Matrix colorscheme along with CSApprox for my terminal vim.

I can not seem to be able to set the background as transparent. I have tried editing the matrix.vim file but it doesn't make it any better.

here is the matrix.vim

" vim:set ts=8 sts=2 sw=2 tw=0:
"
" matrix.vim - MATRIX like colorscheme.
"
" Maintainer: MURAOKA Taro <[email protected]>
" Last Change:  10-Jun-2003.

set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif

let g:colors_name = 'matrix'

hi Comment guifg=#226622
hi Constant guifg=#55ff55
hi Special guifg=#44cc44
hi Identifier guifg=#55ff55
hi Statement guifg=#55ff55 gui=bold
hi PreProc guifg=#339933
hi Type guifg=#55ff55 gui=bold
hi Underlined guifg=#55ff55 gui=underline
hi Error guifg=#55ff55
hi Todo guifg=#113311 gui=none
hi Cursor guifg=#226622
hi lCursor guifg=#226622
hi CursorIM guifg=#226622
hi Directory guifg=#55ff55
hi DiffAdd guifg=#55ff55 gui=none
hi DiffChange guifg=#55ff55 gui=none
hi DiffDelete guifg=#113311 gui=none
hi DiffText guifg=#55ff55 gui=bold
hi ErrorMsg guifg=#55ff55
hi VertSplit guifg=#339933
hi Folded guifg=#44cc44
hi FoldColumn guifg=#44cc44
hi IncSearch guifg=#226622 gui=none
hi LineNr guifg=#44cc44 gui=none
hi ModeMsg guifg=#44cc44
hi MoreMsg guifg=#44cc44
hi NonText guifg=#44cc44 guibg=NONE ctermbg=none
hi Normal guifg=#44cc44 guibg=NONE ctermbg=none
hi Question guifg=#44cc44
hi Search guifg=#113311 gui=none
hi SpecialKey guifg=#44cc44
hi StatusLine guifg=#55ff55 gui=none
hi StatusLineNC guifg=#113311 gui=none
hi Title guifg=#55ff55 gui=bold
hi Visual guifg=#55ff55 gui=none
hi VisualNOS guifg=#44cc44
hi WarningMsg guifg=#55ff55
hi WildMenu guifg=#226622

and my .vimrc file

set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim/
call vundle#begin()

Plugin 'gmarik/Vundle.vim'
Plugin 'fatih/vim-go'
Plugin 'vim-airline/vim-airline'
" Plugin 'vim-airline/vim-airline-themes'
Plugin 'airblade/vim-gitgutter'
" Plugin 'altercation/vim-colors-solarized'
Bundle 'morhetz/gruvbox'
Plugin 'tpope/vim-git'
Plugin 'Valloric/YouCompleteMe'
Plugin 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
" Plugin 'flazz/vim-colorschemes'
Plugin 'godlygeek/csapprox'

call vundle#end()

filetype plugin indent on
syntax on
syntax enable

#...
#...
#...
#...
#...

set t_Co=256
colorscheme matrix

if i enter hi Normal guifg=#44cc44 guibg=NONE ctermbg=none in the command prompt, it looks as expected. but not when it's only declared in matrix.vim. i also tried adding it after colorscheme matrix in .vimrc, but it does not help.

How it looks like when first loaded.

enter image description here

How it looks like after i enter command

enter image description here

like image 642
codingninja Avatar asked Jun 08 '16 20:06

codingninja


3 Answers

You don't have to change anything in your colorscheme just add the following to your .vimrc:

hi Normal guibg=NONE ctermbg=NONE

Update:

As Liam mentioned in the comments:

This line needs to go below the colorscheme in .vimrc

like image 184
GiftZwergrapper Avatar answered Oct 14 '22 02:10

GiftZwergrapper


If you load a plugin at line 5 of your .vimrc for example, then if you change line 6, it doesn't mean that Vim load the plugin completely and then run your line 6!!

That's why, you should use autocmd command, because in this case, it ensures that all of your plugins are loaded completely and then your command will run after that!

In this case:

" transparent bg
autocmd vimenter * hi Normal guibg=NONE ctermbg=NONE
" For Vim<8, replace EndOfBuffer by NonText
autocmd vimenter * hi EndOfBuffer guibg=NONE ctermbg=NONE

Now you sure that after all the things are loaded, you are running your commands.

like image 21
SdSaati Avatar answered Oct 14 '22 00:10

SdSaati


Use this gist. I compile some settings to make vim transparent.

like image 2
fuadnafiz98 Avatar answered Oct 14 '22 01:10

fuadnafiz98