2021-08-31 04:27:51 +03:00
|
|
|
syntax on
|
|
|
|
set ruler " Show the line and column numbers of the cursor.
|
|
|
|
set formatoptions+=o " Continue comment marker in new lines.
|
|
|
|
set textwidth=0 " Hard-wrap long lines as you type them.
|
|
|
|
set modeline " Enable modeline.
|
|
|
|
"set esckeys " Cursor keys in insert mode.
|
|
|
|
set linespace=0 " Set line-spacing to minimum.
|
|
|
|
set nojoinspaces " Prevents inserting two spaces after punctuation on a join (J)
|
|
|
|
" More natural splits
|
|
|
|
set splitbelow " Horizontal split below current.
|
|
|
|
set splitright " Vertical split to right of current.
|
|
|
|
if !&scrolloff
|
|
|
|
set scrolloff=3 " Show next 3 lines while scrolling.
|
|
|
|
endif
|
|
|
|
if !&sidescrolloff
|
|
|
|
set sidescrolloff=5 " Show next 5 columns while side-scrolling.
|
|
|
|
endif
|
|
|
|
set display+=lastline
|
|
|
|
set nostartofline " Do not jump to first character with page commands.
|
|
|
|
set noerrorbells " No beeps
|
|
|
|
set backspace=indent,eol,start " Makes backspace key more powerful.
|
|
|
|
set showcmd " Show me what I'm typing
|
|
|
|
set showmode " Show current mode.
|
|
|
|
set noswapfile " Don't use swapfile
|
|
|
|
set nobackup " Don't create annoying backup files
|
|
|
|
set encoding=utf-8 " Set default encoding to UTF-8
|
|
|
|
set autowrite " Automatically save before :next, :make etc.
|
|
|
|
set autoread " Automatically reread changed files without asking me anything
|
|
|
|
set laststatus=2
|
|
|
|
set fileformats=unix,dos,mac " Prefer Unix over Windows over OS 9 formats
|
|
|
|
set showmatch " Do not show matching brackets by flickering
|
|
|
|
set incsearch " Shows the match while typing
|
|
|
|
set hlsearch " Highlight found searches
|
|
|
|
set ignorecase " Search case insensitive...
|
|
|
|
set smartcase " ... but not when search pattern contains upper case characters
|
|
|
|
set gdefault " Use 'g' flag by default with :s/foo/bar/.
|
|
|
|
set magic " Use 'magic' patterns (extended regular expressions).
|
|
|
|
|
|
|
|
" Use <C-L> to clear the highlighting of :set hlsearch.
|
|
|
|
if maparg('<C-L>', 'n') ==# ''
|
|
|
|
nnoremap <silent> <C-L> :nohlsearch<CR><C-L>
|
|
|
|
endif
|
|
|
|
|
|
|
|
" Search and Replace
|
|
|
|
nmap <Leader>s :%s//g<Left><Left>
|
|
|
|
|
|
|
|
" Leader key is like a command prefix.
|
|
|
|
"let mapleader='z'
|
|
|
|
"let maplocalleader='\'
|
|
|
|
|
|
|
|
let g:python_host_prog="/usr/local/bin/python2.7"
|
|
|
|
|
|
|
|
let g:session_autosave = 'yes'
|
|
|
|
let g:session_autoload = 'yes'
|
|
|
|
let g:session_default_to_last = 1
|
|
|
|
|
|
|
|
" set cursorcolumn
|
|
|
|
nmap <Space> <PageDown>
|
|
|
|
vmap <BS> x
|
|
|
|
|
|
|
|
" Plugins here
|
|
|
|
call plug#begin('~/.config/nvim/plugged')
|
|
|
|
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
|
|
|
|
" Plug 'Shougo/deoplete.nvim'
|
|
|
|
Plug 'Valloric/YouCompleteMe'
|
|
|
|
Plug 'vim-airline/vim-airline'
|
|
|
|
Plug 'vim-airline/vim-airline-themes'
|
|
|
|
Plug 'Chiel92/vim-autoformat'
|
|
|
|
Plug 'scrooloose/nerdtree'
|
|
|
|
Plug 'terryma/vim-multiple-cursors'
|
2021-08-31 03:26:52 +03:00
|
|
|
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
|
|
|
|
Plug 'junegunn/fzf.vim'
|
2021-08-31 04:27:51 +03:00
|
|
|
Plug 'crusoexia/vim-monokai'
|
|
|
|
Plug 'projekt0n/github-nvim-theme'
|
2021-08-31 03:26:52 +03:00
|
|
|
call plug#end()
|
|
|
|
|
|
|
|
set number relativenumber
|
|
|
|
set nu rnu
|
2021-08-31 04:27:51 +03:00
|
|
|
set tabstop=4
|
|
|
|
set shiftwidth=0
|
|
|
|
set softtabstop=-1
|
|
|
|
set expandtab
|
2021-08-31 03:26:52 +03:00
|
|
|
set autoindent
|
2021-08-31 04:27:51 +03:00
|
|
|
set cursorline
|
2021-08-31 03:26:52 +03:00
|
|
|
set hidden
|
|
|
|
" Better display for messages
|
|
|
|
set cmdheight=2
|
|
|
|
" Smaller updatetime for CursorHold & CursorHoldI
|
|
|
|
set updatetime=300
|
|
|
|
" don't give |ins-completion-menu| messages.
|
|
|
|
set shortmess+=c
|
|
|
|
" always show signcolumns
|
|
|
|
set signcolumn=yes
|
|
|
|
|
|
|
|
" Use tab for trigger completion with characters ahead and navigate.
|
|
|
|
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
|
|
|
|
inoremap <silent><expr> <TAB>
|
|
|
|
\ pumvisible() ? "\<C-n>" :
|
|
|
|
\ <SID>check_back_space() ? "\<TAB>" :
|
|
|
|
\ coc#refresh()
|
|
|
|
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
|
|
|
|
|
|
|
function! s:check_back_space() abort
|
|
|
|
let col = col('.') - 1
|
|
|
|
return !col || getline('.')[col - 1] =~# '\s'
|
|
|
|
endfunction
|
|
|
|
|
2021-08-31 04:27:51 +03:00
|
|
|
" deoplete config
|
|
|
|
let g:deoplete#enable_at_startup = 1
|
|
|
|
let g:deoplete#disable_auto_complete = 1
|
|
|
|
if has("gui_running")
|
|
|
|
inoremap <silent><expr><C-Space> deoplete#mappings#manual_complete()
|
|
|
|
else
|
|
|
|
inoremap <silent><expr><C-@> deoplete#mappings#manual_complete()
|
|
|
|
endif
|
|
|
|
|
|
|
|
" UltiSnips config
|
|
|
|
inoremap <silent><expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
|
|
|
|
let g:UltiSnipsExpandTrigger="<tab>"
|
|
|
|
let g:UltiSnipsJumpForwardTrigger="<tab>"
|
|
|
|
let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
|
|
|
|
|
|
|
|
" Tell Vim which characters to show for expanded TABs,
|
|
|
|
" trailing whitespace, and end-of-lines. VERY useful!
|
|
|
|
if &listchars ==# 'eol:$'
|
|
|
|
" set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
|
|
|
|
set listchars=tab:>\ ,extends:>,precedes:<,nbsp:+
|
|
|
|
endif
|
|
|
|
|
|
|
|
" nerdtree config
|
|
|
|
map <c-n> :NERDTreeToggle<CR>
|
|
|
|
|
|
|
|
" airline settings
|
|
|
|
let g:airline#extensions#tabline#enabled = 2
|
|
|
|
let g:airline#extensions#tabline#fnamemod = ':t'
|
|
|
|
let g:airline#extensions#tabline#left_sep = ' '
|
|
|
|
let g:airline#extensions#tabline#left_alt_sep = '|'
|
|
|
|
let g:airline#extensions#tabline#right_sep = ' '
|
|
|
|
let g:airline#extensions#tabline#right_alt_sep = '|'
|
|
|
|
let g:airline_powerline_fonts=1
|
|
|
|
let g:airline_left_sep = ' '
|
|
|
|
let g:airline_left_alt_sep = '|'
|
|
|
|
let g:airline_right_sep = ' '
|
|
|
|
let g:airline_right_alt_sep = '|'
|
|
|
|
let g:airline_powerline_fonts=0
|
|
|
|
let g:airline_theme='base16_default_dark'
|
|
|
|
|
|
|
|
" Multicursor
|
|
|
|
let g:multi_cursor_use_default_mapping=0
|
|
|
|
let g:multi_cursor_next_key='<C-e>'
|
|
|
|
let g:multi_cursor_quit_key='<Esc>'
|
|
|
|
let g:multi_cursor_quit_key='<Esc>'
|
|
|
|
|
|
|
|
" YouCompleteMe
|
|
|
|
let g:ycm_autoclose_preview_window_after_completion = 1
|
|
|
|
let g:ycm_min_num_of_chars_for_completion = 1
|
|
|
|
|
|
|
|
" Other
|
|
|
|
set mouse=
|
|
|
|
set list
|
|
|
|
lua require('github-theme').setup()
|
|
|
|
"darcula fix to hide the indents:
|
|
|
|
set nolist
|
|
|
|
|
|
|
|
let NERDTreeIgnore = ['_site']
|
|
|
|
|
|
|
|
" Buffer handling
|
|
|
|
nmap L :let &number=1-&number<CR>
|
|
|
|
nmap <leader>] :bnext<CR>
|
|
|
|
nmap <leader>[ :bprevious<CR>
|
|
|
|
nmap <leader>bq :bp <BAR> bd #<CR>
|
|
|
|
nmap <leader>bl :ls<CR>
|
|
|
|
nmap <leader>0 :set invnumber<CR>
|
|
|
|
" map :q to byffer delete
|
|
|
|
" http://stackoverflow.com/questions/7513380/vim-change-x-function-to-delete-buffer-instead-of-save-quit
|
|
|
|
cnoreabbrev <expr> x getcmdtype() == ":" && getcmdline() == 'x' ? 'bd' : 'x'
|
2021-08-31 03:26:52 +03:00
|
|
|
|