.vimrc
1 " display
2
3 syntax on
4
5 set number
6 set ruler
7 set cmdheight=2
8 set laststatus=2
9 set title
10 set linespace=4
11 set wildmenu
12 set showcmd
13 set list
14 set listchars=tab:>\
15 set shortmess+=I
16 set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P
17
18 " search
19 set ignorecase
20 set smartcase
21 set wrapscan
22 set hlsearch
23 set incsearch
24
25 " edit
26 set autoindent
27 set cindent
28 set showmatch
29 set backspace=indent,eol,start
30 set clipboard=unnamed
31 set pastetoggle=<F12>
32 set guioptions+=a
33
34 " tab
35 set tabstop=4
36 set expandtab
37 set smarttab
38 set shiftwidth=4
39 set shiftround
40 set nowrap
41 set smartindent
42
43 " keymap
44 set bioskey
45 set timeout
46 set timeoutlen=500
47 let mapleader=','
48
49 noremap j gj
50 noremap k gk
51 noremap gj j
52 noremap gk k
53
54 inoremap <C-h> <Left>
55 inoremap <C-j> <Down>
56 inoremap <C-k> <Up>
57 inoremap <C-l> <Right>
58
59 inoremap <C-d> <Del>
60 noremap <CR> i<CR><ESC>
61
62 inoremap {} {}<LEFT>
63 inoremap [] []<LEFT>
64 inoremap () ()<LEFT>
65 inoremap "" ""<LEFT>
66 inoremap '' ''<LEFT>
67 inoremap <> <><LEFT>
68 inoremap []5 [% %]<LEFT><LEFT><LEFT>
69
70 nnoremap n nzz
71 nnoremap N Nzz
72 nnoremap * *zz
73 nnoremap # #zz
74 nnoremap g* g*zz
75 nnoremap g# g#zz
76
77 nnoremap <silent> <C-x>1 :only<CR>
78 nnoremap <silent> <C-x>2 :sp<CR>
79 nnoremap <silent> <C-x>3 :vsp<CR>
80
81 nnoremap <silent> bb :b#<CR>
82 nnoremap <silent> bp :bp<CR>
83 nnoremap <silent> bn :bn<CR>
84 nnoremap <silent> bd :bd<CR>
85 nnoremap ls :ls<CR>:b
86
87 noremap ; :
88 noremap : ;
89
90 set nobackup
91 set autoread
92 set noswapfile
93 set hidden
94 autocmd BufWritePre * :%s/\s\+$//ge