123 lines
2.3 KiB
VimL
123 lines
2.3 KiB
VimL
|
set nocompatible
|
||
|
|
||
|
if has('autocmd')
|
||
|
filetype plugin indent on
|
||
|
endif
|
||
|
|
||
|
if has('syntax') && !exists('g:syntax_on')
|
||
|
syntax enable
|
||
|
endif
|
||
|
|
||
|
" Use :help 'option' to see the documentation for the given option.
|
||
|
set autoindent
|
||
|
set backspace=indent,eol,start
|
||
|
set complete-=i
|
||
|
set showmatch
|
||
|
set showmode
|
||
|
set smarttab
|
||
|
|
||
|
set nrformats-=octal
|
||
|
set shiftround
|
||
|
|
||
|
set ttimeout
|
||
|
set ttimeoutlen=50
|
||
|
|
||
|
set incsearch
|
||
|
" Use <C-L> to clear the highlighting of :set hlsearch.
|
||
|
if maparg('<C-L>', 'n') ==# ''
|
||
|
nnoremap <silent> <C-L> :nohlsearch<CR><C-L>
|
||
|
endif
|
||
|
|
||
|
set laststatus=2
|
||
|
set ruler
|
||
|
set showcmd
|
||
|
set wildmenu
|
||
|
|
||
|
set autoread
|
||
|
|
||
|
set encoding=utf-8
|
||
|
set tabstop=2 shiftwidth=2 expandtab
|
||
|
"set listchars=tab:▒,trail:
|
||
|
"set list
|
||
|
|
||
|
inoremap <C-U> <C-G>u<C-U>
|
||
|
|
||
|
set number
|
||
|
set hlsearch
|
||
|
set ignorecase
|
||
|
set smartcase
|
||
|
|
||
|
" Don't use Ex mode, use Q for formatting
|
||
|
map Q gq
|
||
|
|
||
|
" In many terminal emulators the mouse works just fine, thus enable it.
|
||
|
if has('mouse')
|
||
|
set mouse=a
|
||
|
endif
|
||
|
|
||
|
" do not history when leavy buffer
|
||
|
set hidden
|
||
|
|
||
|
" FIXME: (broken) ctrl s to save
|
||
|
noremap <C-S> :update<CR>
|
||
|
vnoremap <C-S> <C-C>:update<CR>
|
||
|
inoremap <C-S> <Esc>:update<CR>
|
||
|
|
||
|
set nobackup
|
||
|
set nowritebackup
|
||
|
set noswapfile
|
||
|
set fileformats=unix,dos,mac
|
||
|
|
||
|
" exit insert mode
|
||
|
inoremap <C-c> <Esc>
|
||
|
|
||
|
set completeopt=menuone,longest,preview
|
||
|
|
||
|
|
||
|
"
|
||
|
" Basic shortcuts definitions
|
||
|
" most in visual mode / selection (v or ⇧ v)
|
||
|
"
|
||
|
|
||
|
" Find
|
||
|
map <C-f> /
|
||
|
" indend / deindent after selecting the text with (⇧ v), (.) to repeat.
|
||
|
vnoremap <Tab> >
|
||
|
vnoremap <S-Tab> <
|
||
|
" comment / decomment & normal comment behavior
|
||
|
vmap <C-m> gc
|
||
|
" Disable tComment to escape some entities
|
||
|
let g:tcomment#replacements_xml={}
|
||
|
" Text wrap simpler, then type the open tag or ',"
|
||
|
vmap <C-w> S
|
||
|
" Cut, Paste, Copy
|
||
|
vmap <C-x> d
|
||
|
vmap <C-v> p
|
||
|
vmap <C-c> y
|
||
|
" Undo, Redo (broken)
|
||
|
nnoremap <C-z> :undo<CR>
|
||
|
inoremap <C-z> <Esc>:undo<CR>
|
||
|
nnoremap <C-y> :redo<CR>
|
||
|
inoremap <C-y> <Esc>:redo<CR>
|
||
|
" Tabs
|
||
|
nnoremap <C-b> :tabprevious<CR>
|
||
|
inoremap <C-b> <Esc>:tabprevious<CR>i
|
||
|
nnoremap <C-n> :tabnext<CR>
|
||
|
inoremap <C-n> <Esc>:tabnext<CR>i
|
||
|
nnoremap <C-t> :tabnew<CR>
|
||
|
inoremap <C-t> <Esc>:tabnew<CR>i
|
||
|
nnoremap <C-k> :tabclose<CR>
|
||
|
inoremap <C-k> <Esc>:tabclose<CR>i
|
||
|
|
||
|
" lazy ':'
|
||
|
map \ :
|
||
|
|
||
|
let mapleader = ','
|
||
|
nnoremap <Leader>p :set paste<CR>
|
||
|
nnoremap <Leader>o :set nopaste<CR>
|
||
|
|
||
|
" this machine config
|
||
|
if filereadable(expand("~/.vimrc.local"))
|
||
|
source ~/.vimrc.local
|
||
|
endif
|