Created
January 31, 2018 21:48
-
-
Save yunusemrecan/a54e96de6a46e16a61e6f802d1ffa5ef to your computer and use it in GitHub Desktop.
Revisions
-
Yunus Emre Can SARIBIYIK created this gist
Jan 31, 2018 .There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,224 @@ " vim: fdm=marker foldenable sw=4 ts=4 sts=4 "{{{ Plugins call plug#begin('~/.vim/plugged') " Track the engine. Plug 'SirVer/ultisnips' " Snippets are separated from the engine. Add this if you want them: Plug 'honza/vim-snippets' Plug 'scrooloose/nerdcommenter' Plug 'mattn/emmet-vim' Plug 'christoomey/vim-tmux-navigator' Plug 'rust-lang/rust.vim' Plug 'w0rp/ale' Plug 'ekalinin/Dockerfile.vim', {'for' : 'Dockerfile'} Plug 'fatih/vim-go', {'for':'go'} Plug 'tomasr/molokai' Plug '/usr/local/opt/fzf' Plug 'junegunn/fzf.vim' Plug 'tmux-plugins/vim-tmux', {'for': 'tmux'} Plug 'tpope/vim-surround' Plug 'tpope/vim-fugitive' Plug 'tpope/vim-rhubarb' Plug 'jiangmiao/auto-pairs' Plug 'racer-rust/vim-racer',{'for':'rust'} Plug 'ludovicchabant/vim-gutentags' Plug 'ajh17/VimCompletesMe' Plug 'junegunn/gv.vim' Plug 'vim-latex/vim-latex' Plug 'airblade/vim-gitgutter' Plug 'tommcdo/vim-lion' Plug 'tpope/vim-vinegar' call plug#end() "}}} "{{{ Commmon Setup set exrc set secure set tabstop=8 set softtabstop=4 set shiftwidth=4 set expandtab set number " show line numbers set relativenumber " Show relative numbers set showcmd " show command in bottom bar set cursorline " highlight current line set showmatch " highlight matching [{()}] set incsearch " search as characters are entered set hlsearch " highlight matches set foldenable " enable folding set foldlevelstart=10 " open most folds by default set ignorecase "ignore case sensitive set smartcase set foldmethod=indent " fold based on indent level let mapleader="," " leader is comma set encoding=utf-8 " The encoding displayed. set fileencoding=utf-8 " The encoding written to file. set ffs=unix,dos,mac " Use Unix as the standard file type set wildmenu " show possible option why writing commands set autoindent set autowrite " Automatically save before commands like :next and :make set showcmd set nocursorcolumn " speed up syntax highlighting set pumheight=10 " max 10 item on auto complete " Turn backup off, since most stuff is in SVN, git et.c anyway... set nobackup " nobackup files/folder set nowb set noswapfile set laststatus=2 " Always show the status line let $LANG='en' set noerrorbells " No eeps set visualbell set hidden set list lcs=tab:\|\ "show indents with tap set path+=** "}}} "{{{ colorscheme autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red au InsertLeave * match ExtraWhitespace /\s\+$/ set t_Co=256 set background=dark colorscheme Molokai let g:molokai_original = 1 set termguicolors "}}} "{{{ Keymaps noremap <C-J> <C-W><C-J> nnoremap <C-K> <C-W><C-K> nnoremap <C-L> <C-W><C-L> nnoremap <C-H> <C-W><C-H> nnoremap <leader>w <C-W>w " jj for esc inoremap jj <ESC> nnoremap <leader>bn :bnext<CR> nnoremap <Leader>bb :ls<CR>:b<Space> inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>" inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>" inoremap <expr> <cr> pumvisible() ? "\<C-y>\<cr>" : "\<cr>" noremap <leader>u :w<Home>silent <End> !urlview<CR> let g:UltiSnipsExpandTrigger="<c-e>" let g:UltiSnipsJumpForwardTrigger="<c-b>" let g:UltiSnipsJumpBackwardTrigger="<c-z>" "{{{ Rust keymap au FileType rust nmap gd <Plug>(rust-def) au FileType rust nmap gs <Plug>(rust-def-split) au FileType rust nmap gx <Plug>(rust-def-vertical) au FileType rust nmap <leader>gd <Plug>(rust-doc) "}}} "}}} "{{{ highlight settings let python_highlight_all = 1 " Enables all highlighting and go settings let g:go_highlight_extra_types = 1 let g:go_highlight_space_tab_error = 1 let g:go_highlight_array_whitespace_error = 1 let g:go_highlight_chan_whitespace_error = 1 let g:go_highlight_operators = 1 let g:go_highlight_functions = 1 let g:go_highlight_function_arguments = 1 let g:go_highlight_methods = 1 let g:go_highlight_types = 1 let g:go_highlight_format_strings = 1 let g:go_highlight_build_constraints = 1 let g:go_highlight_fields = 1 let g:go_highlight_variable_declarations = 1 let g:go_highlight_variable_assignments = 1 let g:go_fmt_command = 'goimports' "}}} "{{{ Pluginless "{{{Rip Grep set grepprg=rg\ --vimgrep command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --glob "!.git/*" --color "always" '.shellescape(<q-args>), 1, <bang>0) "}}} "{{{ Better White Space function! StripTrailingWhitespace() if !&binary && &filetype != 'diff' normal mz normal Hmy %s/\s\+$//e normal 'yz<CR> normal `z endif endfunction "}}} ""{{{ Statusline " Dictionary: take mode() input -> longer notation of current mode " mode() is defined by Vim let g:currentmode={ 'n' : 'Normal ', 'no' : 'N·Operator Pending ', 'v' : 'Visual ', 'V' : 'V·Line ', '^V' : 'V·Block ', 's' : 'Select ', 'S': 'S·Line ', '^S' : 'S·Block ', 'i' : 'Insert ', 'R' : 'Replace ', 'Rv' : 'V·Replace ', 'c' : 'Command ', 'cv' : 'Vim Ex ', 'ce' : 'Ex ', 'r' : 'Prompt ', 'rm' : 'More ', 'r?' : 'Confirm ', '!' : 'Shell ', 't' : 'Terminal '} " Function: return current mode " abort -> function will abort soon as error detected function! ModeCurrent() abort let l:modecurrent = mode() " use get() -> fails safely, since ^V doesn't seem to register " 3rd arg is used when return of mode() == 0, which is case with ^V " thus, ^V fails -> returns 0 -> replaced with 'V Block' let l:modelist = toupper(get(g:currentmode, l:modecurrent, 'V·Block ')) let l:current_status_mode = l:modelist return l:current_status_mode endfunction set laststatus=2 set statusline= set statusline+=\ %{ModeCurrent()} "set statusline+=%2*\ %l set statusline+=\ %* set statusline+=%1*\ ‹‹ set statusline+=%1*\ %f\ %* set statusline+=%1*\ ›› set statusline+=%1*\ %m set statusline+=%3* set statusline+=%= set statusline+=%y set statusline+=%3*\ :: set statusline+=\ %{(&fenc!=''?&fenc:&enc)} set statusline+=\| set statusline+=%{&fileformat} set statusline+=%3*\ :: set statusline+=%3*\ %p%% "set statusline+=\| set statusline+=%3*\ :: set statusline+=%4l set statusline+=/ " Separator set statusline+=%4L " Total lines set statusline+=\| set statusline+=%4v "set statusline+=%3*\ :: "set statusline+=%3*\ %n hi User1 guifg=#FFFFFF guibg=#191f26 gui=BOLD hi User2 guifg=#000000 guibg=#959ca6 hi User3 guifg=#000000 guibg=#4cbf99 "}}} "}}} "{{{ Plugin Settings "{{{ vim-racer set omnifunc=syntaxcomplete#Complete let g:racer_cmd = "/Users/yunusemrecan/.cargo/bin/racer" let g:racer_experimental_completer = 1 let $RUST_SRC_PATH="/Users/yunusemrecan/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/src" "}}} "{{{ Vimcompletes me " close docs automaticly autocmd InsertLeave * if bufname('%') != "[Command Line]" | pclose | endif " }}} "{{{ "fugitive nnoremap <leader>gb :Gblame<cr> nnoremap <leader>gd :Gvdiff<cr> nnoremap <leader>gp :Git push<cr> nnoremap <leader>gs :Gstatus<cr> "}}} "{{{ ale let g:ale_sign_column_always = 1 let g:ale_set_loclist = 0 let g:ale_set_quickfix = 1 let g:ale_open_list = 1 "" Write this in your vimrc file let g:ale_lint_on_text_changed = 'never' nmap <silent> <leader>k <Plug>(ale_previous_wrap) nmap <silent> <leader>j <Plug>(ale_next_wrap) "}}} "}}} "{{{ Split settings set splitbelow set splitright set winheight=30 " "}}}