qmya00 发表于 2018-6-13 11:54:49

windows & 下的VIM+ctags+taglist

  下载gvim72.exe 并安装,默认的目录在C:\Program Files\Vim\ 其中C:\Program Files\Vim\vimfiles\ 目录就相当于linux中的家目录的.vim/目录,插件,配色方案什么的的直接放里面.
  下载ctags58.zip (ctags)连接Ctags
  解压缩后ctags.exe到 C:\windows\system32\ .只要是放在环境变量(%path%)目录中都可以.
  下载taglist,把文件分别放置到:
  1. plugin/taglist.vim – taglist插件
  2. doc/taglist.txt    - taglist帮助文件 .
  顺便贴下自己的.vimrc文件
  "plugin   
"{   
"require Exuberant ctags for the taglist.vim sudo apt-get install exuberant-ctags   
"taglist :Source code browser (supports C/C++, java, perl, python, tcl, sql,php, etc)   
"http://www.vim.org/scripts/script.php?script_id=273   
"TxtBrowser : Browse plain text easily (show the title tag and syntax highlight)   
"http://www.vim.org/scripts/script.php?script_id=2899   
"sippmate   
"http://www.vim.org/scripts/script.php?script_id=2540   
"The NERD tree : A tree explorer plugin for navigating the filesystem   
"http://www.vim.org/scripts/script.php?script_id=1658   
"Supertab aims to provide tab completion to satisfy all your insert completion needs   
":SuperTabHelp command which opens a temporary buffer listing all the available types and the ability to easily switch to that type.   
"MRU : Most recently used files in your file menu   
"http://www.vim.org/scripts/script.php?script_id=194   
"python.vim : for adjust the indent performance for python file   
"http://www.vim.org/scripts/script.php?script_id=974   
"}   
"sudo apt-get install vim-gnome   
"make you can use the system clipboard "+p { the selection content "*p }   
"""""""""""""""""""""""""""""""""""""""""""   
"""""""""""""""""""""""""""""""""""""""""".   
"The search options affect   
set showcmd " Show (partial) command in status line.   
set showmatch " Show matching brackets.   
" 匹配括号高亮的时间(单位是十分之一秒)   
set matchtime=5   
set hls   
set ignorecase " Do case insensitive matching   
set smartcase " Do smart case matching   
set incsearch " Incremental search   
"set lazyredraw   
command! -nargs=1 Silent   
\ | execute ':silent !'.<q-args>   
\ | execute ':redraw!'   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;The simple look like   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
set nu &quot;set number   
syntax on   
set background=dark   
&quot;set cursorline   
&quot;set cursorcolumn &quot; highlight the current column   
set mouse=a &quot; Enable mouse usage (all modes)   
set scrolloff=3 &quot;始终保持光标上下有至少3行   
set scrolljump=5 &quot;lines to scroll when cursor leaves screen   
&quot;command line set   
&quot;{   
set laststatus=2 &quot; always show the status line   
set wildmenu   
set wildmode=list:longest,full   
&quot; ignore these list file extensions   
set wildignore=*.dll,*.o,*.obj,*.exe,*.pyc,\*.jpg,*.gif,*.png,*.pdf   
&quot;设置状态行,使其能额外显示文件的编码信息   
&quot;set statusline=\ %F\ \ \ %m%<%r\ \ \ \ %10l/%L:%c\->%p%%\ \ [%{(&fenc==\&quot;\&quot;)?&enc:&fenc}%{(&bomb?\&quot;,bom\&quot;:\&quot;\&quot;)}]\ \ \ [%{&ff}/%Y]%=\ PWD:%{CurDir()}   
set statusline=\ %F\ %m%<%r\ \ %10l/%L:%c\->%p%%\ \ [%{(&fenc==\&quot;\&quot;)?&enc:&fenc}%{(&bomb?\&quot;,bom\&quot;:\&quot;\&quot;)}]\ \ \ [%{&ff}/%Y]%=\ PWD:%{CurDir()}   
function! CurDir()   
let curdir = substitute(getcwd(), '/Users/amir/', &quot;~/&quot;, &quot;g&quot;)   
return curdir   
endfunction   
&quot;}   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;the map leader shortcut and the keymap   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
let mapleader = &quot;,&quot;   
let g:mapleader = &quot;,&quot;   
noremap <space> :   
noremap <leader>= gg=G   
inoremap <leader>w <ESC>:w<CR>   
inoremap <leader>q <ESC>:q<CR>   
noremap <leader>w :w<CR>   
noremap <leader>q :q<CR>   
noremap <leader>! :w !sudo tee % &gt;/dev/null<CR>   
noremap <leader>b :set wrap!<CR>   
noremap <leader>8 :set fileencoding=utf-8<cr>:w<cr>   
noremap <leader>r :! ./% <CR>   
noremap <leader>e :MRU<CR>   
noremap <leader>l :set nohls!<CR>   
noremap <leader>h :hide<CR>   
noremap <leader>n :NERDTreeToggle<CR>   
noremap <leader>t :TlistToggle<CR>   
noremap <leader>m :mksession! Session.vim   
noremap = <c-w>10+   
noremap - <c-w>10-   
noremap <leader>&gt; <c-w>10&gt;   
noremap <leader>< &lt;c-w>10<   
noremap &lt;C-n> gt   
noremap <C-p> gT   
noremap tc :tabclose<CR>   
noremap tn :tabedit   
noremap tm :tabmove<CR>   
inoremap jj <ESC>:w<CR>   
cnoremap jj <ESC>   
&quot;tab键缩进   
nmap <tab> V&gt;   
nmap <S-tab> V<   
vmap &lt;tab> &gt;gv   
vmap <S-tab> <gv   
&quot;move the cursor between the windows   
&quot;多个窗口的切换   
set wmw=12 &quot; set the min width of a window to 0 so we can maximize others   
set wmh=1 &quot; set the min height of a window to 0 so we can maximize others   
&quot; --- move around splits {   
&quot; move to and maximize the below split   
nnoremap &lt;C-j> <C-W>j<C-W>8+   
&quot; move to and maximize the above split   
nnoremap <C-k> <C-W>k<C-W>8+   
&quot; move to and maximize the left split   
&quot;nmap <c-h> <c-w>h<c-w><bar>   
nnoremap <c-h> <c-w>h<c-w>8&gt;   
&quot; move to and maximize the right split   
nnoremap <c-l> <c-w>l<c-w>8&gt;   
&quot;nmap <c-l> <c-w>l<c-w><bar>   
&quot;nnoremap <C-j> :wincmd j<CR>   
&quot;nnoremap <C-k> :wincmd k<CR>   
&quot;nnoremap <C-h> :wincmd h<CR>   
&quot;nnoremap <C-l> :wincmd l<CR>   
&quot; 在文件名上按gf时,在新的tab中打开   
map gf :tabnew <cfile><cr>   
&quot;the shortcut for cmdline   
cnoremap <C-A> <Home>   
cnoremap <C-E> <End>   
cnoremap <C-K> <C-U>   
cnoremap <C-P> <Up>   
cnoremap <C-N> <Down>   
cnoremap <C-F> <Right>   
cnoremap <C-B> <Left>   
cnoremap <C-D> <del>   
cnoremap <C-H> <backspace>   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot; 文本格式和排版   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;the plugin setup   
filetype plugin on   
filetype plugin indent on   
set sw=4 &quot;set softswitch to 4   
set tabstop=4 &quot;set tab to 4   
set softtabstop=4   
set expandtab &quot;expand tab to 4 space   
set virtualedit=onemore &quot; allow for cursor beyond last character   
set shortmess+=filmnrxoOtT &quot; abbrev. of messages (avoids 'hit enter')   
&quot;set text   
set autoindent   
set smartindent   
&quot;set cindent &quot; C/C++风格缩进   
set nowrap &quot; Set no auto newline   
set iskeyword+=_,$,@,%,#,- &quot; 带有如下符号的单词不要被换行分割   
&quot;set linebreak &quot;设置是否自动断行   
set smarttab &quot; 只在行和段开始处使用制表符,其他位置扩展成空格   
set backspace=2 &quot; 使回格键(backspace)正常处理indent, eol, start等   
set nocompatible   
set history=1000   
set viminfo+=! &quot; make sure it can save viminfo 确保命令历史被记录在viminfo文件中.   
set autoread &quot; Set to auto read when a file is changed from the outside   
set autowrite &quot; Automatically save before commands like :next and :make   
set autochdir &quot;Auto change the global dir of the current windows   
&quot; 设置字符集编码,默认使用utf8   
if (has(&quot;win32&quot;) || has(&quot;win64&quot;) || has(&quot;win32unix&quot;))   
let g:isWin = 1   
else   
let g:isWin = 0   
endif   
if (g:isWin)   
set encoding=utf-8   
set termencoding=utf-8   
set fileencodings=ucs-bom,utf-8,chinese,gb2312   
set langmenu=zh_CN.utf-8   
source $VIMRUNTIME/delmenu.vim   
source $VIMRUNTIME/menu.vim   
language messages zh_cn.utf-8   
set swapfile   
set backup &quot; backups are nice ...   
set background=dark   
&quot;set guifont=Courier_New:h10:cANSI &quot;英文字体 字符集可以省略不写   
set guifont=Lucida_Sans_Typewriter:h10.5w6.3:cANSI &quot;英文字体 字符集可以省略不写.空格用_代替,h字高,w字宽.float型   
set guifontwide=&quot;幼圆:h11w2:cGB2312&quot; &quot;中文字体,字体大小,字符集   
else   
&quot;the backup file and swap file in the specified directory   
&quot;{   
set swapfile   
set backup &quot; backups are nice ...   
set backupdir=$HOME/.vimbackup// &quot; but not when they clog .   
set directory=$HOME/.vimswap// &quot; Same for swap files   
&quot;Creating directories if they don't exist   
silent execute '!mkdir -p $HOME/.vimbackup'   
silent execute '!mkdir -p $HOME/.vimswap'   
set encoding=utf8   
set fileencodings=utf8,gb2312,gb18030,ucs-bom,latin1   
endif   
&quot;新文件编码   
set fileencoding=utf-8   
&quot; No sound on errors   
set noerrorbells   
set novisualbell   
set t_vb=   
set tm=500   
if has(&quot;gui_running&quot;)   
let g:isGUI = 1   
set guioptions=   
set guitablabel=%N:\ %f &quot;tab栏显示的格式:位置:文件名   
set t_Co=256   
set background=dark   
set linespace=5 &quot;row space.   
set linespace=3 &quot;row space.(两行的间距, 只对gvim有效.)   
&quot;Ctrl+S实现保存,如果未命名文件名会提示你选择保存路径和文件名   
map <silent> <C-S> :if expand(&quot;%&quot;) == &quot;&quot;<CR>:browse confirm w<CR>:else<CR>:confirm w<CR>:endif<CR>   
noremap <M-1> 1gt   
noremap <M-2> 2gt   
noremap <M-3> 3gt   
noremap <M-4> 4gt   
noremap <M-5> 5gt   
noremap <M-6> 6gt   
noremap <M-7> 7gt   
noremap <M-8> 8gt   
noremap <M-9> 9gt   
else   
let g:isGUI = 0   
endif   
if (g:isGUI)   
set cursorline   
&quot;set guifont=DejaVu\ Sans\ Mono:11   
&quot;set guifontwide=文泉驿等宽微米黑:11   
hi StatusLine guifg=yellow gui=reverse,bold guibg=black   
hi StatusLineNC guifg=lightgray gui=reverse,bold guibg=black   
&quot;hi Normal guifg=#d0d0d0 guibg=#202020 gui=NONE   
endif   
&quot; Really useful!   
&quot; In visual mode when you press * or # to search for the current selection   
&quot;{   
vnoremap <silent> * :call VisualSearch('f')<CR>   
vnoremap <silent> # :call VisualSearch('b')<CR>   
function! VisualSearch(direction) range   
let l:saved_reg = @&quot;   
execute &quot;normal! vgvy&quot;   
let l:pattern = escape(@&quot;, '\\/.*$^~[]')   
let l:pattern = substitute(l:pattern, &quot;\n$&quot;, &quot;&quot;, &quot;&quot;)   
if a:direction == 'b'   
execute &quot;normal ?&quot; . l:pattern . &quot;^M&quot;   
elseif a:direction == 'gv'   
call CmdLine(&quot;vimgrep &quot; . '/'. l:pattern . '/' . ' **/*.')   
elseif a:direction == 'f'   
execute &quot;normal /&quot; . l:pattern . &quot;^M&quot;   
endif   
let @/ = l:pattern   
let @&quot; = l:saved_reg   
endfunction   
function! CmdLine(str)   
exe &quot;menu Foo.Bar :&quot; . a:str   
emenu Foo.Bar   
unmenu Foo   
endfunction   
&quot;}   
&quot;输入配置   
&quot; 关闭中文标点   
let g:vimim_disable_chinese_punctuation=1   
&quot;中英文之间不加空格   
let g:vimim_disable_seamless_english_input=1   
&quot; paste from clipboard   
noremap <leader>p <ESC>:call Paste()<CR><ESC>   
inoremap <leader>p <ESC>:call Paste()<CR><ESC>   
noremap <leader>y &quot;+yy   
inoremap <leader>y <ESC>&quot;+yy   
noremap Y gg&quot;+yG   
function! Paste()   
execute &quot;set paste&quot;   
execute &quot;normal \&quot;+p&quot;   
execute &quot;set nopaste&quot;   
execute &quot;normal l&quot;   
endfunction   
function! Yank()   
execute &quot;normal \&quot;+yy&quot;   
endfunction   
&quot;插入模式缩写   
iab idate <c-r>=strftime(&quot;%Y-%m-%d&quot;)<CR>   
iab inow <c-r>=strftime(&quot;%Y-%m-%d %H:%M&quot;)<CR>   
iab itime <c-r>=strftime(&quot;%H:%M&quot;)<CR>   
iab igmail lijun877@gmail.com   
iab iname LiJunYa   
&quot; 恢复上次文件打开位置   
set viminfo='10,\&quot;100,:20,%,n~/.viminfo   
au BufReadPost * if line(&quot;'\&quot;&quot;) &gt; 0|if line(&quot;'\&quot;&quot;) <= line(&quot;$&quot;)|exe(&quot;norm '\&quot;&quot;)|else|exe &quot;norm $&quot;|endif|endif   
&quot; 快捷输入   
&quot; 自动完成括号和引号   
&quot;inoremap &lt;leader>1 ()<esc>:let leavechar=&quot;)&quot;<cr>i   
&quot;inoremap <leader>2 []<esc>:let leavechar=&quot;]&quot;<cr>i   
&quot;inoremap <leader>3 {}<esc>:let leavechar=&quot;}&quot;<cr>i   
&quot;inoremap <leader>4 {<esc>o}<esc>:let leavechar=&quot;}&quot;<cr>O   
&quot;inoremap <leader>q ''<esc>:let leavechar=&quot;'&quot;<cr>i   
&quot;inoremap <leader>w &quot;&quot;<esc>:let leavechar='&quot;'<cr>i   
&quot; Writing Restructured Text (Sphinx Documentation)   
&quot;{   
&quot; Ctrl-u 1: underline Parts w/ #'s   
noremap <C-u>1 yyPVr#yyjp   
inoremap <C-u>1 <esc>yyPVr#yyjpA   
&quot; Ctrl-u 2: underline Chapters w/ *'s   
noremap <C-u>2 yyPVr*yyjp   
inoremap <C-u>2 <esc>yyPVr*yyjpA   
&quot; Ctrl-u 3: underline Section Level 1 w/ ='s   
noremap <C-u>3 yypVr=   
inoremap <C-u>3 <esc>yypVr=A   
&quot; Ctrl-u 4: underline Section Level 2 w/ -'s   
noremap <C-u>4 yypVr-   
inoremap <C-u>4 <esc>yypVr-A   
&quot; Ctrl-u 5: underline Section Level 3 w/ ^'s   
noremap <C-u>5 yypVr^   
inoremap <C-u>5 <esc>yypVr^A   
&quot;}   
&quot;setting options of mksession.   
set sessionoptions+=resize,winpos   
autocmd VimEnter * call LoadSession()   
autocmd VimLeave * call SaveSession()   
function! SaveSession()   
if (filereadable(&quot;Session.vim&quot;))   
execute 'mksession!'   
endif   
endfunction   
function! LoadSession()   
if argc() == 0   
silent! execute 'source Session.vim'   
endif   
endfunction   
&quot;fold save the fold setting automaticlly   
&quot;silent execute '!mkdir -p $HOME/.vim/view'   
&quot;set viewoptions=folds,options,cursor,unix,slash &quot; better unix / windows compatibility   
&quot;au BufWinLeave * silent! mkview   
&quot;au BufWinEnter * silent! loadview   
&quot;}   
set diffopt=filler,vertical &quot; diffsplit {filename} open the $filename in the new windows vertically and compare the with the current file.   
&quot;let @#='I<html>A<\hmtl>' &quot; type let @q=' then type <C-R> <C-R> q' store the marco saved in register q. viewing the content of the register q (:reg q)   
autocmd! bufwritepost *.vimrc source $HOME/.vimrc   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot; CTags的设定   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot; 按照名称排序   
let Tlist_Sort_Type = &quot;name&quot;   
&quot; 在右侧显示窗口   
let Tlist_Use_Right_Window = 1   
&quot; 压缩方式 Remove extra information and blank lines from the taglist window.   
let Tlist_Compact_Format = 1   
&quot; 如果只有一个buffer,kill窗口也kill掉buffer   
let Tlist_Exit_OnlyWindow = 1   
&quot;auto open Tlist when vim open   
let Tlist_Auto_Open = 0   
&quot; 不要显示折叠树   
let Tlist_Enable_Fold_Column = 0   
&quot; taglist 窗口宽度   
let Tlist_WinWidth = 22   
&quot; no inc the width of the windows   
let Tlist_Inc_Winwidth = 1   
&quot; Close tag folds for inactive buffers.   
let Tlist_File_Fold_Auto_Close = 1   
&quot;To process files even when the taglist window is not open.   
let Tlist_Process_File_Always = 1   
&quot;display the tags defined only in the current buffer   
let Tlist_Show_One_File = 1   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot; NERDTree的设定   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot; 如果用t T i 打开文件后自动退出NERDTree,   
let NERDTreeQuitOnOpen = 1   
&quot; 总是显示Bookmark   
let NERDTreeShowBookmarks = 1   
&quot; 总是显示行号   
&quot;let NERDTreeShowLineNumbers=1   
&quot; NERDTree 窗口大小   
let NERDTreeWinSize = 22   
&quot; A 可使NERDTree窗口最大化Toggle it.   
&quot;过滤文件,使用正则表达式   
let NERDTreeIgnore=['\.pdf$','\.doc','\.wmv','\.flv']   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot; 自动补全设置supertab snippmate omincomplete   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
let g:SuperTabDefaultCompletionType = &quot;context&quot;   
&quot;The current completion type is only retained for the current completion. Once you have chosen a completion   
&quot;result or exited the completion mode, the default completion type is restored.   
let g:SuperTabRetainCompletionDuration = 'completion' &quot;could be 'insert' 'session'   
let g:SuperTabCompletionContexts = ['s:ContextText', 's:ContextDiscover']   
set completeopt=menu,preview,longest   
let g:SuperTabLongestHighlight = '0' &quot;若设置为1 ,预先选中一个补全选项,可以直接回车使用这个补全选项   
let g:SuperTabMidWordCompletion = '1' &quot;启用/禁止在字中间启用completion   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot; omincomplete   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;autocmd FileType python set omnifunc=pythoncomplete#Complete   
&quot;autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS   
&quot;autocmd FileType html set omnifunc=htmlcomplete#CompleteTags   
&quot;autocmd FileType css set omnifunc=csscomplete#CompleteCSS   
&quot;autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags   
&quot;autocmd FileType php set omnifunc=phpcomplete#CompletePHP   
&quot;autocmd FileType c set omnifunc=ccomplete#Complete   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;The Colors   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
colorscheme desert   
&quot; 状态行颜色   
hi StatusLine guifg=yellow guibg=black gui=reverse,bold &quot;当前窗口的状态栏颜色   
hi search ctermfg=black ctermbg=Magenta   
hi search guifg=black guibg=Magenta   
hi wildmenu ctermbg=magenta   
&quot;当前窗口的状态栏颜色   
hi StatusLine ctermfg=yellow cterm=bold,reverse   
hi modemsg ctermfg=1   
&quot;hi CursorLine ctermfg=DarkYellow guibg=DarkYellow   
&quot;设置自动补全跳出菜单颜色,pmenusel是选择时的颜色.note:guifg guibg only effected when vim has the gui   
hi Pmenu ctermbg=7 ctermfg=0 cterm=reverse   
hi PmenuSel ctermbg=Magenta ctermfg=0   
hi Pmenu guibg=yellow guifg=black cterm=reverse   
hi PmenuSel guifg=black guibg=Magenta   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;TxtBrowser的设定   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
au BufRead,BufNewFile * setfiletype txt   
au BufRead,BufNewFile *.log setlocal ft=txt nu   
au FileType txt set formatoptions=tcr2mB nocindent text nofoldenable comments&   
let g:default_web_browser='firefox'   
&quot;若firefox出现,already running cannot open new windows的错误时.先关闭firefox然后删除 &quot;~/.mozilla/firefox/.parentlock 这个文件即可   
let TxtBrowser_Title_Level = 3 &quot;定义标题级数   
let TxtBrowser_Dict_Url='http://www.iciba.com/text' &quot;定义单词搜索引擎   
au filetype txt let Tlist_Sort_Type = &quot;order&quot;   
noremap <leader>u <ESC>:w<CR>:TlistUpdate<CR>   
noremap <leader>g <ESC>:TGoto<CR>   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;文件管理调用   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
function! Ranger()   
&quot; Get a temp file name without creating it   
let tmpfile = substitute(system('mktemp -u'), '\n', '', '')   
&quot; Launch ranger, passing it the temp file name   
silent exec '!RANGER_RETURN_FILE='.tmpfile.' ranger'   
&quot; If the temp file has been written by ranger   
if filereadable(tmpfile)   
&quot; Get the selected file name from the temp file   
let filetoedit = system('cat '.tmpfile)   
exec 'edit '.filetoedit   
call delete(tmpfile)   
endif   
redraw!   
endfunction   
nmap <leader>f :call Ranger()<cr>   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;程序相关的设定   
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;   
&quot;只对c,cpp,java,pl,sh,py格式的文件启动自动缩进.注释进行了自动缩进 fold按缩进程度进行代码块的收放   
autocmd FileType python set foldmethod=indent formatoptions=croql cindent comments=sr:/*,mb:*,ex:*/,://   
autocmd FileType c,cpp,java,perl,sh set foldmethod=indent formatoptions=croql cindent comments=sr:/*,mb:*,ex:*/,://   
&quot;highlight characters after column 80.   
autocmd FileType c,cpp :match ErrorMsg /\%&gt;80v.\+/ noremap <leader>r :! ./%< &lt;CR>   
set makeprg=gcc\ -Wall\ %\ -o\ %<   
&quot; 下述代码在windows下使用会报错需要去掉./这两个字符   
&quot; C的编译和运行,编译失败还是会运行,需改进   
&quot;{   
noremap &lt;leader>c :call CompileRunGcc()<CR>   
func! CompileRunGcc()   
exec &quot;w&quot;   
exec &quot;!gcc -Wall % -o %<&quot;   
&quot;exec &quot;! ./%&lt;&quot;   
endfunc   
&quot; C++的编译和运行   
map &lt;F6> :call CompileRunGpp()<CR>   
func! CompileRunGpp()   
exec &quot;w&quot;   
exec &quot;!g++ % -o %&lt;&quot;   
exec &quot;! ./%&lt;&quot;   
endfunc   
&quot;}   
&quot;你的工作目录下有Makefile文件, 只需输入:make命令就可以进行编译了;   
&quot;没有Makefile文件,make的时候会调用 'makeprg'里参数进行编译.   
&quot;在quickfix模式里经常用到的命令有:   
&quot; :cn 跳到下一个错误 ( :help :cn )   
&quot; :cp 跳到上一个错误 ( :help :cp )   
&quot; :cl 列出所有错误 ( :help :cl )   
&quot; :cw 如果有错误列表, 则打开quickfix窗口 ( :help :cw )   
&quot; :col 到前一个旧的错误列表 ( :help :col )   
&quot; :cnew 到后一个较新的错误列表 ( :help :cnew )   
set cscopequickfix=s-,c-,d-,i-,t-,e-
  
  
  
页: [1]
查看完整版本: windows & 下的VIM+ctags+taglist