Skip to content

Instantly share code, notes, and snippets.

@guilhermelimak
Last active October 28, 2017 03:52
Show Gist options
  • Select an option

  • Save guilhermelimak/ca617b47e5668a7923dba7b7c905bd71 to your computer and use it in GitHub Desktop.

Select an option

Save guilhermelimak/ca617b47e5668a7923dba7b7c905bd71 to your computer and use it in GitHub Desktop.
filetype plugin indent on " required
nnoremap <SPACE> <Nop>
let mapleader=" "
" ==============
" == Settings
" ==============
syntax enable
" set colorcolumn=100
set pastetoggle=<F2>
set number
set t_Co=256
set clipboard=unnamedplus
set mouse=a
set background=dark
set shell=/bin/bash
set ul=99
set laststatus=2
set timeoutlen=500 ttimeoutlen=0
set shiftwidth=2
set softtabstop=2
set tabstop=2
set expandtab
set encoding=utf8
set ruler
set incsearch
set noswapfile
set cursorline
set hid
set smartcase
"remove mode status from bottom line
set noshowmode
"disable .swp files
set nobackup
"Open new buffers in new page
set switchbuf+=usetab,newtab
"Display hidden chars
set listchars=tab:>·,space:•
set list
"Set tags directory
set tags=./tags,tags;$HOME
" == Autocmd
"disable auto open dosctring when autocompleting
autocmd FileType python setlocal completeopt-=preview
autocmd FileType python setlocal ts=4 sw=4 expandtab
"disable autocomment on paste
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
" remove trailing whitespace on save
autocmd BufWritePre * :%s/\s\+$//e
"save on lose focus
au FocusLost * :wa
au BufReadPre //* :NoMatchParen
" ==============
" == Maps
" ==============
" Disable autoindent paste
nnoremap <F2> :set invpaste paste?<CR>
imap <C-g> <CR><Esc>O<Tab>
nmap <leader>ee :lnext<cr>
" Move lines
nmap <c-l> [e
nmap <c-k> ]e
vmap <c-k> ]egv
vmap <c-l> [egv
"save read only files without reopening vim
cmap w!! w !sudo tee % >/dev/null
nnoremap <leader>s :source ~/.vimrc<CR>
nnoremap <leader>v :e ~/.vimrc<CR>
nnoremap <leader>j <C-W><C-H>
nnoremap <leader>k <C-W><C-J>
nnoremap <leader>l <C-W><C-K>
nnoremap <leader>r <C-W><C-R>
nnoremap <leader>ç <C-W><C-L>
nnoremap <leader>e :e ~/
nnoremap <leader>f /
nnoremap <leader>w <c-w><c-w>
" change ' to "
nnoremap <F11> :%s/'\([^']*\)'/"\1"/g<CR>
" change " to '
nnoremap <F12> :%s/"\([^"]*\)"/'\1'/g<CR>
map <leader>q :q<CR>
map <leader>t :tabnew<CR>
nnoremap <leader>hs :sp<CR>
nnoremap <leader>vs :vsp<CR>
nnoremap K <Nop>
vnoremap K <Nop>
map <Esc><Esc> :w<CR>
" go to tab
map <leader>1 1gt
map <leader>2 2gt
map <leader>3 3gt
map <leader>4 4gt
map <leader>5 5gt
map <leader>6 6gt
map <leader>7 7gt
map <leader>8 8gt
"normalmov
nnoremap j h
nnoremap k gj
nnoremap l gk
nnoremap ; l
"visualmov
vnoremap j h
vnoremap k gj
vnoremap l gk
vnoremap ; l
"allow . to repeat visual commands
vnoremap . :norm.<CR>
" ==============
" == GUI
" ==============
if has("gui_running")
color sift
set noantialias
set guioptions-=e
set guioptions-=m
set guioptions-=T
set guioptions-=r
set guioptions-=L
" set guifont=FixedsysTTF\ 12
set guifont=Terminus
hi GitGutterAdd guifg=#338833 guibg=#0c121c
hi GitGutterChange guifg=#FFFE07 guibg=#0c121c
hi GitGutterChangeDelete guifg=#FFFE07 guibg=#0c121c
hi GitGutterDelete guifg=#884444 guibg=#0c121c
endif
" ==============
" == Styl
" ==============
hi ColorColumn ctermbg=darkgray
hi Conditional ctermfg=Yellow
hi CursorLine ctermbg=235 cterm=none
hi NonText ctermfg=236
hi SpecialKey ctermfg=236
hi ExtraWhitespace ctermbg=red
match ExtraWhitespace /\s\+$/
function! NumberToggle()
if(&relativenumber == 1)
set norelativenumber
else
set relativenumber
endif
endfunc
nnoremap <C-o> :call NumberToggle()<cr>
let &t_SI = "\<Esc>[6 q"
let &t_SR = "\<Esc>[4 q"
let &t_EI = "\<Esc>[2 q"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment