-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathvimrc
More file actions
132 lines (116 loc) · 3.8 KB
/
vimrc
File metadata and controls
132 lines (116 loc) · 3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
"start file type detect
"filetype on
"according file type load corresponding plugin
"filetype plugin on
set number
"自适应不同语言智能缩进
filetype indent on
"设置编辑时制表符占用空格数
set tabstop=4
"将制表符扩展为空格
"set expandtab
"设置格式化时制表符占用空格数
"set shiftwidth=4
"让vim把连续数量的空格视为一个制表符
"set softtabstop=4
"设置缩进线
"set list lcs=tab:\|\ "(here is a space)
"set foldmethod=syntax
"set nofoldenable
"<F5>按键绑定粘贴模式 :set paste
set pastetoggle=<F12>
syntax enable
syntax on
set term=xterm
"colorscheme darkblue
"colorscheme desert
colorscheme molokai
set bg=dark
set cursorline
"highlight Cursorline cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
set cursorcolumn
"highlight Cursorcolumn cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
set laststatus=2
"set search high light
set hlsearch
"ignore casr sensitive
set ignorecase
set t_Co=256 "在windows中用xshell连接打开vim可以显示色彩
"解决vim中文显示乱码问题
"set fileencoding=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
"./tags;表示在文件的所在目录下查找名字为.tags的符号文件,后面一个分号代表查找不到的话向上递归到父目录,
"而我们只要在项目根目录放一个.tags即可
"set autochdir
"set tags=tags; 这两句产生的作用相同
"还需要做一个自动生成tags的插件
set tags=./.tags;,.tags
"光标回到上次退出文件时的位置
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
"define Leader as ;
let mapleader=";"
"define shortcut key to quit, write/quit, no-save/quit
nmap <Leader>q :q<CR>
nmap <Leader>wq :w<CR>:q<CR>
nmap <Leader>Q :q!<CR>
"different vim copy/paste
let g:copy_file=$HOME . "/.vim_copybuffer"
function Write_copy_file()
call delete(g:copy_file)
let lines=split(@", "\n")
call writefile(lines,g:copy_file)
endfunction
function Read_copy_file()
let l:buf=readfile(g:copy_file)
let @"=join(l:buf,"\n")
normal ""p
endfunction
map <silent> ;y :call Write_copy_file()<Enter>
map <silent> ;p :call Read_copy_file()<Enter>
"nerdtree configuration
map <silent> nt :NERDTreeMirror<CR>
map <silent> nt :NERDTreeToggle<CR>
let NERDTreeWinPos="right"
let NERDTreeShowBookmarks=1
"autocmd VimEnter * NERDTree
"tagbar, * 打开所有folds, = 折叠所有folds
nmap <silent> tb :TagbarToggle<CR>
let g:tagbar_left=1 "default on right
let g:tagbar_width=30 "default width is 40
let g:tagbar_autofocus=1 "cursor on tagbar when tagbar start
let g:tagbar_sort=0 "default is sort
"switch from c file and h file
nmap <silent> <Leader>sw :FSHere<CR>
"LeaderF configuration
"let g:Lf_ShortcutF = '<c-p>'
let g:Lf_ShortcutB = '<m-n>'
noremap <c-n> :LeaderfMru<cr>
noremap <c-p> :LeaderfFunction!<cr>
noremap <m-n> :LeaderfBuffer<cr>
noremap <m-m> :LeaderfTag<cr>
let g:Lf_StlSeparator = { 'left': '', 'right': '', 'font': '' }
let g:Lf_RootMarkers = ['.project', '.root', '.svn', '.git']
let g:Lf_WorkingDirectoryMode = 'Ac'
let g:Lf_WindowHeight = 0.30
let g:Lf_CacheDirectory = expand('~/.vim/cache')
let g:Lf_ShowRelativePath = 0
let g:Lf_HideHelp = 1
let g:Lf_StlColorscheme = 'eleline'
let g:Lf_PreviewResult = {'Function':0, 'BufTag':0}
"vim-plug management
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'tomasr/molokai'
"support laststatus
Plug 'liuchengxu/eleline.vim'
"switch from c file and h file
Plug 'derekwyatt/vim-fswitch'
Plug 'majutsushi/tagbar'
"Plug 'Yggdroot/LeaderF', { 'do': './install.sh' }
"将asynctasks命令所在目录加入到PATH,然后在~/.bashrc alias task='asynctask -f'
Plug 'skywind3000/asynctasks.vim'
call plug#end()
"代码动态检查