设为首页 收藏本站
查看: 805|回复: 0

[经验分享] windows & 下的VIM+ctags+taglist

[复制链接]

尚未签到

发表于 2018-6-13 11:54:49 | 显示全部楼层 |阅读模式
  下载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\ [buffer:%n]\ \ %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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-523296-1-1.html 上篇帖子: windows下硬盘安装CentOS5.4 下篇帖子: windows 7 FAT32 转NTFS
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表