Created
December 27, 2020 20:41
-
-
Save andrematias/49aa2cfc1ad8a4150175577e5702a0f9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Set compatibility to Vim only. | |
set nocompatible | |
" Helps force plug-ins to load correctly when it is turned back on below. | |
filetype off | |
" Turn on syntax highlighting. | |
syntax on | |
" For plug-ins to load correctly. | |
filetype plugin indent on | |
" Turn off modelines | |
set modelines=0 | |
" Automatically wrap text that extends beyond the screen length. | |
set wrap | |
" Vim's auto indentation feature does not work properly with text copied from outside of Vim. Press the <F2> key to toggle paste mode on/off. | |
nnoremap <F2> :set invpaste paste?<CR> | |
imap <F2> <C-O>:set invpaste paste?<CR> | |
set pastetoggle=<F2> | |
" Display 5 lines above/below the cursor when scrolling with a mouse. | |
set scrolloff=5 | |
" Fixes common backspace problems | |
set backspace=indent,eol,start | |
" Speed up scrolling in Vim | |
set ttyfast | |
" Status bar | |
set laststatus=2 | |
" Display options | |
set showmode | |
set showcmd | |
" Highlight matching pairs of brackets. Use the '%' character to jump between them. | |
set matchpairs+=<:> | |
" Display different types of white spaces. | |
set list | |
set listchars=tab:›\ ,trail:•,extends:#,nbsp:. | |
" Show line numbers | |
set number | |
" Set status line display | |
"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ [BUFFER=%n]\ %{strftime('%c')} | |
" Encoding | |
set encoding=utf-8 | |
" Highlight matching search patterns | |
set hlsearch | |
" Enable incremental search | |
set incsearch | |
" Include matching uppercase words with lowercase search term | |
set ignorecase | |
" Include only uppercase words with uppercase search term | |
set smartcase | |
" Store info from no more than 100 files at a time, 9999 lines of text, 100kb of data. Useful for copying large amounts of data between files. | |
set viminfo='100,<9999,s100 | |
" Map the <Space> key to toggle a selected fold opened/closed. | |
nnoremap <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR> | |
vnoremap <Space> zf | |
" Automatically save and load folds | |
autocmd BufWinLeave *.* mkview | |
autocmd BufWinEnter *.* silent loadview" | |
" Call the .vimrc.plug file | |
if filereadable(expand("~/.vimrc.plug")) | |
source ~/.vimrc.plug | |
endif | |
" Start autocompletion after 4 chars | |
let g:ycm_min_num_of_chars_for_completion = 4 | |
" let g:ycm_min_num_i dentifier_candidate_chars = 4 | |
let g:ycm_enable_diagnostic_highlighting = 0 | |
" Don't show YCM's preview window [ I find it really annoying ] | |
set completeopt-=preview | |
let g:ycm_add_preview_to_completeopt = 0 | |
map <C-l> :tabn<CR> | |
map <C-h> :tabp<CR> | |
map <C-n> :tabnew<CR> | |
" Use system clipboard | |
set clipboard=unnamedplus | |
autocmd VimEnter * NERDTree | |
nmap <C-f> :NERDTreeToggle<CR> | |
" enable 256 colors | |
set t_Co=256 | |
set t_ut= | |
" set ident | |
set tabstop=4 | |
set shiftwidth=4 | |
set softtabstop=4 | |
set colorcolumn=80 | |
set expandtab | |
set viminfo='25,\"50,n~/.viminfo | |
autocmd FileType html setlocal tabstop=2 shiftwidth=2 softtabstop=2 | |
autocmd FileType css setlocal tabstop=2 shiftwidth=2 softtabstop=2 | |
autocmd FileType javascript setlocal tabstop=2 shiftwidth=2 softtabstop=2' | |
" auto pair python | |
au FileType python let b:AutoPairs = AutoPairsDefine({"f'" : "'", "r'" : "'", "b'" : "'"})"'"}) | |
" Ident with Tab key | |
nmap <Tab> >> | |
nmap <S-tab> << | |
imap <S-Tab> <Esc><<i | |
vmap <Tab> >gv | |
vmap <S-Tab> <gv | |
" Set mouse | |
set mouse=a | |
let g:is_mouse_enabled = 1 | |
noremap <silent> <Leader>m :call ToggleMouse()<CR> | |
function ToggleMouse() | |
if g:is_mouse_enabled == 1 | |
echo "Mouse OFF" | |
set mouse= | |
let g:is_mouse_enabled = 0 | |
else | |
echo "Mouse ON" | |
set mouse=a | |
let g:is_mouse_enabled = 1 | |
endif | |
endfunction | |
" Color scheme | |
syntax on | |
colorscheme onedark | |
filetype on | |
filetype plugin indent on | |
" Disable auto ident when paste | |
let &t_SI .= "\<Esc>[?2004h" | |
let &t_EI .= "\<Esc>[?2004l" | |
function! XTermPasteBegin() | |
set pastetoggle=<Esc>[201~ | |
set paste | |
return "" | |
endfunction | |
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()]] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment