²©¿Íͳ¼ÆÐÅÏ¢

Óû§Ãû£ºjiangjqian
ÎÄÕÂÊý£º143
ÆÀÂÛÊý£º21
·ÃÎÊÁ¿£º75568
ÎÞÓDZңº696
²©¿Í»ý·Ö£º1512
²©¿ÍµÈ¼¶£º6
×¢²áÈÕÆÚ£º2009-11-20

Îҵļ¼ÊõȦ(0)

¸ü¶à>>
VimʹÓý׶ÎÐÔ×ܽáϵÁÐ(2) ¨C ÎÒµÄVim»·¾³×ÛÊö
2010-02-23 11:50:40
±êÇ©£ºVim
VimʹÓý׶ÎÐÔ×ܽáϵÁÐ(2) ¨C ÎÒµÄVim¹¤×÷»·¾³×ÛÊö
¸½¼þѹËõ°üÊÇÎÒµÄVim¹¤×÷»·¾³£¬ÆäÖÐcommonprjĿ¼¼°Æä°üº¬µÄhello.cºÍMakefileÊÇ×÷ΪÀý×ÓµÄÒ»¸ö¹¤³Ì¡£ÏÂͼÁгöÏà¹ØµÄÎļþºÍ¼òÊö¡£Ö®ºó½«½øÐÐÏêϸ½éÉÜ¡£
 
±ÈÈçÎÒÃÇÓÐÒ»¸ö¹¤³Ì, commonprj£¬°üº¬Îļþhello.c ºÍ Makefile
Step 1: °Ñprj¿½±´ÖÃcommonprjĿ¼Ï¡£
Step 2: ±à¼­prjĿ¼ÏµÄdevInputNormal.sh¡£
Ö÷ÒªÊÇÉèÖÃÐèÒª¼ÓÈëµ½ÏîÄ¿ÖеÄÎļþºÍ·¾¶ÁÐ±í¡£°üÀ¨path_list, file_list, remove_list¡£ÏêϸÇë²Î¿¼<<Vim ʹÓý׶ÎÐÔ×ܽáϵÁÐ(1) - ½¨Á¢¹¤³Ì>>¡£
Àý×ÓÖÐÔËÐÐ . ~/work/env/common/devInputStdInc.sh
ÆäÄ¿µÄÊÇΪÁ˰ѱê׼ͷÎļþ¼ÓÈëµ½ÏîÄ¿ÖС£
Step 3: ÔËÐÐ sh ~/work/env/devProject.sh devInputNormal.sh
ÔÚprjĿ¼Ï¿ÉÒԵõ½ÈçÏÂÎļþ£º
cscope.*: cscopeÐèÒªµÄÊý¾Ý¿âÎļþ
filenametags: lookupfile²å¼þÐèÒªµÄtagÎļþ
lookup_filelist: Éú³ÉfilenametagsËùÓõÄÎļþÁбí
src_filelist: ¼ÓÈëµ½ÏîÄ¿ÖеÄÔ´ÂëÎļþ
tagsdebug: ctagsÐèÒªÓõ½µÄÎļþ

ÏÖÔÚ¿ÉÒÔʹÓÃvimµÄÇ¿´ó¹¦ÄÜÁË£¡
±ÈÈ磺vim ../
Ñ¡ÖÐhello.c£¬°´Enter´ò¿ªËü¡£
¹â±êÂäÔÚprintfÉÏ£¬°´CTRL-]¿ÉÒÔÌø×ªµ½¶¨Òå´¦ ¨C CtagµÄÓ¦ÓÃ
¹â±êÂäÔÚprintfÉÏ£¬°´CTRL-@, s£¬½«²éÕÒËùÓгöÏָñêÇ©µÄµØ·½£¬²¢Êä³öµ½quickfix£¬°´F3, F4¿Éǰºó²éÕÒ¡£CTRL-@, c¿É²éÕÒµ÷ÓÃÕß¡£- cscopeʹÓÃ
¹â±êÂäÔÚprintfÉÏ£¬°´F2£¬½«ÔÚÏîĿԴÎļþÖвéÕÒprintf£¬²¢Êä³öµ½quickfix£¬°´F3, F4¿ÉÉÏϲéÕÒ ¨C È«ÏîÄ¿ËÑË÷
°´ , lk ½«´ò¿ªlookupfile ´°¿Ú£¬ÊäÈëÆ¥Åä×Ö»á³öÏÖÎļþÁÐ±í£¬°´CTRL-P»ò-N, ¿ÉÒÔÑ¡ÔñÎļþ
:Tlist ÓÃÓÚ´ò¿ª±êǩҳ
:mksession!
:wviminfo viminfo
¶ÔÏîÄ¿µ±Ç°±à¼­»·¾³½øÐб£´æ¡£
vim ¨CS Session ¨Ci viminfo: ÓÃÓÚ»Ö¸´ÉÏ´ÎÔËÐеĻ·¾³
¿ÉÒԺúøÐÊÜvimµÄÇ¿´óÁË¡£
ÏÂÃæ¶ÔÉÏÊöÎļþµÄ¹Ø¼ü²¿·Ö½øÐÐÃèÊö£º
A. devInputNormal.sh ºÍdevInputStdInc.sh
¹²Í¬×é³ÉÊäÈ룬ÓÃÓÚ¸ù¾ÝÐèÒª¾ö¶¨ÊÇ·ñ°üº¬devInputStdInc.sh
B. devGrepPrj.sh
½«±»vimÖеÄgrepʹÓã¬ÓÃÓÚÔÚÔ´ÎļþÁбíÖвéÕҹؼü×Ö
C. devProject.sh
¼û<<Vim ʹÓý׶ÎÐÔ×ܽáϵÁÐ(1) - ½¨Á¢¹¤³Ì>>
D. devFrequencyEdit
ÓÃÓÚ±êעƵ·±±à¼­µÄ±êÇ©
E. ÏÂÃæÖØµãÃèÊövimµÄrcÎļþ
1. .vimrc
" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.
" qianjiang add ! after command
 command! DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
   \ | wincmd p | diffthis
//:DiffOrig ÓÃÓڱȽϵ±Ç°bufºÍ´ò¿ªÖ®Ç°µÄ²îÒì
" qianjiang add below contents
//Çл»µ½Ò»¸öbuf£¬Èç¹û²»´æÔÚÔòпªÒ»¸ö
function! SwitchToBuf(filename)
    " let fullfn = substitute(a:filename, "^\\~/", $HOME . "/", "")
    " find in current tab
    let bufwinnr = bufwinnr(a:filename)
    if bufwinnr != -1
        exec bufwinnr . "wincmd w"
        return
    else
        " find in each tab
        tabfirst
        let tab = 1
        while tab <= tabpagenr("$")
            let bufwinnr = bufwinnr(a:filename)
            if bufwinnr != -1
                exec "normal " . tab . "gt"
                exec bufwinnr . "wincmd w"
                return
            endif
            tabnext
            let tab = tab + 1
        endwhile
        " not exist, new tab
        exec "tabnew " . a:filename
    endif
endfunction
" Set mapleader
let mapleader = ","
" Fast reloading of the .vimrc
" map <silent> <leader>ss :source ~/.vimrc<cr>
" Fast editing of .vimrc
" map <silent> <leader>ee :e ~/.vimrc<cr>
map <silent> <leader>ee :call SwitchToBuf("~/.vimrc")<cr> //´ò¿ªvimrc½øÐб༭
" when .vimrc is edited, reload it
autocmd! bufwritepost .vimrc source ~/.vimrc //vimrc±»Ð޸ĺó×Ô¶¯ÖØÐÂÉèÖÃ
" Fast open scrach
map <silent> <leader>ss :call SwitchToBuf("scrach")<cr> //´ò¿ª²Ý¸å
set sessionoptions-=curdir
set sessionoptions+=sesdir //±£´æÏà¶Ô·¾¶
set nobackup //²»½øÐÐbackup
" set for taglist
let Tlist_File_Fold_Auto_Close = 1
" set for cscope
set cscopequickfix=s-,c-,d-,i-,t-,e- //cscopeÊä³öµ½quickfix
"you can press '<C-2> s' to access this command
nmap <s">C-@>s :cs find s <cword><CR><esc> //¿ì½Ý¼ü²éÕÒ±êÇ©
nmap <g">C-@>g :cs find g <cword><CR><esc> //
nmap <c">C-@>c :cs find c <cword><CR><esc> //¿ì½Ý¼ü²éÕÒµ÷ÓÃÕß
nmap <t">C-@>t :cs find t <cword><CR><esc>
nmap <e">C-@>e :cs find e <cword><CR><esc>
"nmap <f">C-@>f :cs find f <cfile><CR><esc>
"nmap <i">C-@>i :cs find i ^<cfile><CR>$<esc>
nmap <d">C-@>d :cs find d <cword><CR><esc>
let g:LookupFile_TagExpr = string('./filenametags') //ÉèÖÃlookupfileµÄ±êÇ©
let g:LookupFile_MinPatLength = 2 //×îÉÙÊäÈë2¸ö
let g:LookupFile_PreserveLastPattern = 0
let g:LookupFile_PreservePatternHistory = 0
let g:LookupFile_AllowNewFiles = 0
let g:LookupFile_AlwaysAcceptFirst = 1
nmap <silent> <leader>lk :LookupFile<cr>
nmap <silent> <leader>ll :LUBufs<cr>
nmap <silent> <leader>lw :LUWalk<cr>

if filereadable("devWorkSpace.vim") //Ö´ÐÐÏîÄ¿Ïà¹ØµÄvimÉ趨
 source devWorkSpace.vim
endif

2. devWorkSpace.vim
set path=.,,,
set path+=/usr/local/include
set path+=/usr/include
set tags=tagsdebug //ÉèÖÃctagsµÄ±êÇ©Îļþ
" use four whitespace char to replace tab
set tabstop=4
set et
" setting for search in project
set grepprg=~/work/env/devGrepPrj.sh\ -n\ $*\ /dev/null
map <silent> <F2> :grep <cword><cr><esc>
map <silent> <F3> :cp<cr>
map <silent> <F4> :cn<cr>
//¿ìËÙ´ò¿ªfrequencyedit
nmap <silent> <leader>ff :e ~/work/env/common/devFrequencyEdit<cr>

set winheight=50
 
 
 
 
 
 
 
 
 

 
0ÈË
ÁËÕâÆªÎÄÕÂ

¸½¼þÏÂÔØ£º
¡¡¡¡my-vim-env
Àà±ð£ºlinux©ª¼¼ÊõȦ()©ªÔĶÁ()©ªÆÀÂÛ() ©ª ÍÆË͵½¼¼ÊõȦ©ª·µ»ØÊ×Ò³

ÎÄÕÂÆÀÂÛ

 
2010-02-23 11:56:20
, f f ´ò¿ªdevFrequencyEdit£¬¹â±êÂäÔÚÎļþÉÏ¿ÉÓÃgf´ò¿ª£¬ÂäÔÚ±êÇ©ÉÏ¿ÉÓÃCTRL£«]´ò¿ª

 

·¢±íÆÀÂÛ            

2011-2012¿çÄê¶ÈÓн±Õ÷ÎÄ£ºÏîÄ¿»ØÒä¼
êÇ  ³Æ£º
µÇ¼  ¿ìËÙ×¢²á
ÑéÖ¤Â룺

Çëµã»÷ºóÊäÈëÑéÖ¤Â벩¿Í¹ý2¼¶£¬ÎÞÐèÌîдÑéÖ¤Âë

ÄÚ  ÈÝ£º