-
-
Save pavelkrolevets/9f3f6f9cdcbf6f9973a325a8b2824df8 to your computer and use it in GitHub Desktop.
A basic .vimrc file that will serve as a good template on which to build.
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 characters
| " Don't try to be vi compatible | |
| set nocompatible | |
| " Helps force plugins to load correctly when it is turned back on below | |
| filetype off | |
| " Load plugins here (pathogen or vundle) | |
| " set the runtime path to include Vundle and initialize | |
| set rtp+=~/.vim/bundle/Vundle.vim | |
| call vundle#begin() | |
| " alternatively, pass a path where Vundle should install plugins | |
| "call vundle#begin('~/some/path/here') | |
| " let Vundle manage Vundle, required | |
| Plugin 'VundleVim/Vundle.vim' | |
| " The following are examples of different formats supported. | |
| " Keep Plugin commands between vundle#begin/end. | |
| " plugin on GitHub repo | |
| Plugin 'tpope/vim-fugitive' | |
| " Git plugin not hosted on GitHub | |
| Plugin 'git://git.wincent.com/command-t.git' | |
| " The sparkup vim script is in a subdirectory of this repo called vim. | |
| " Pass the path to set the runtimepath properly. | |
| Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} | |
| Plugin 'preservim/nerdtree' | |
| Plugin 'preservim/vim-markdown' | |
| " Plugin 'ycm-core/YouCompleteMe' | |
| Plugin 'fatih/vim-go' | |
| Plugin 'pangloss/vim-javascript' | |
| Plugin 'Shougo/neocomplete' | |
| " All of your Plugins must be added before the following line | |
| call vundle#end() " required | |
| filetype plugin indent on " required | |
| " To ignore plugin indent changes, instead use: | |
| "filetype plugin on | |
| " | |
| " Brief help | |
| " :PluginList - lists configured plugins | |
| " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate | |
| " :PluginSearch foo - searches for foo; append `!` to refresh local cache | |
| " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal | |
| " | |
| " see :h vundle for more details or wiki for FAQ | |
| " Put your non-Plugin stuff after this line | |
| " Turn on syntax highlighting | |
| syntax on | |
| " For plugins to load correctly | |
| filetype plugin indent off | |
| " TODO: Pick a leader key | |
| " let mapleader = "," | |
| " Security | |
| set modelines=0 | |
| " Show line numbers | |
| set number | |
| " Show file stats | |
| set ruler | |
| " Blink cursor on error instead of beeping (grr) | |
| set visualbell | |
| " Encoding | |
| set encoding=utf-8 | |
| " Whitespace | |
| set wrap | |
| set textwidth=79 | |
| set formatoptions=tcqrn1 | |
| set tabstop=2 | |
| set shiftwidth=2 | |
| set softtabstop=2 | |
| set expandtab | |
| set noshiftround | |
| " Cursor motion | |
| set scrolloff=3 | |
| set backspace=indent,eol,start | |
| set matchpairs+=<:> " use % to jump between pairs | |
| runtime! macros/matchit.vim | |
| " Move up/down editor lines | |
| nnoremap j gj | |
| nnoremap k gk | |
| " Allow hidden buffers | |
| set hidden | |
| " Rendering | |
| set ttyfast | |
| " Status bar | |
| set laststatus=2 | |
| " Last line | |
| set showmode | |
| set showcmd | |
| " Searching | |
| nnoremap / /\v | |
| vnoremap / /\v | |
| set hlsearch | |
| set incsearch | |
| set ignorecase | |
| set smartcase | |
| set showmatch | |
| map <leader><space> :let @/=''<cr> " clear search | |
| " Remap help key. | |
| inoremap <F1> <ESC>:set invfullscreen<CR>a | |
| nnoremap <F1> :set invfullscreen<CR> | |
| vnoremap <F1> :set invfullscreen<CR> | |
| " Textmate holdouts | |
| " Formatting | |
| map <leader>q gqip | |
| " Visualize tabs and newlines | |
| set listchars=tab:▸\ ,eol:¬ | |
| " Uncomment this to enable by default: | |
| " set list " To enable by default | |
| " Or use your leader key + l to toggle on/off | |
| map <leader>l :set list!<CR> " Toggle tabs and EOL | |
| " Color scheme (terminal) | |
| set t_Co=256 | |
| set background=dark | |
| let g:solarized_termcolors=256 | |
| let g:solarized_termtrans=1 | |
| " put https://raw.github.com/altercation/vim-colors-solarized/master/colors/solarized.vim | |
| " in ~/.vim/colors/ and uncomment: | |
| colorscheme solarized | |
| " NerdTree | |
| map <C-n> :NERDTreeToggle<CR> | |
| " GOLANG highlighting | |
| set rtp+=$GOROOT/misc/vim | |
| filetype plugin indent on | |
| " Read .vimrc in project folder | |
| set exrc | |
| set secure | |
| " CTRL-s - сохранить файл | |
| noremap <silent> <C-S> :update<CR> | |
| vnoremap <silent> <C-S> <C-C>:update<CR> | |
| inoremap <silent> <C-S> <C-O>:update<CR> | |
| " CTRL-F4 - закрыть окно | |
| noremap <C-F4> <C-w>c | |
| inoremap <C-F4> <C-o><C-w>c | |
| cnoremap <C-F4> <C-c><C-w> | |
| onoremap <C-F4> <C-c><C-w>c | |
| " SHIFT-Del - "вырезание" в системный буфер | |
| vnoremap <S-Del> "+x | |
| " CTRL-Insert - копирование в системный буфер | |
| vnoremap <C-Insert> "+y | |
| " SHIFT-Insert - вставка из системного буфера | |
| map <S-Insert> "+gP | |
| cmap <S-Insert> <C-R>+ | |
| " CTRL-z - отмена действия | |
| noremap <C-z> u | |
| inoremap <C-z> <C-O>u | |
| " CTRL-y - вернуть отменённое назад | |
| noremap <C-y> <C-R> | |
| inoremap <C-y> <C-O><C-R> | |
| " CTRL-d - дублирование текущей строки | |
| imap <C-d> <esc>yypi | |
| " Open NerdTree when no files specyfied | |
| autocmd StdinReadPre * let s:std_in=1 | |
| autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif | |
| let g:neocomplete#enable_at_startup = 1 | |
| set mouse=a |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment