我已經開始研究一個龐大的PHP應用程序,它在每個文件中有數千行代碼,並且在同一個文件中存在很多巨大的塊,類和函數。我不是唯一的開發者,所以我不能重構!VIM:僅尊重當前代碼塊
我試過使用標籤列表插件,但它並沒有真正的幫助。有沒有辦法讓VIM只尊重特定的代碼塊,並忽略文件的其餘部分?我希望對一些或所有這些功能:
- 啓用線只對當前的碼塊編號,從1在該行含有所述開口
{
出發,示出了用於線在它之前或關閉之後沒有編號}
。 - 使用
/
進行搜索將僅限於所討論的塊。
我正在考慮選擇當前塊並在啓用模式時在新緩衝區中編輯它,然後在退出模式時用已編輯塊替換現有塊。但是,我在實際執行此功能時遇到了麻煩。我目前的版本是這樣的:
map <F7> <Esc>mO<C-V>aBy:new<Return>p:set nu<Return>:set ft=php<Return>ggi<?php<Return><Esc>
map <F8> <Esc>ggdd<C-V>aBx:bp<Return>`O<C-V>aBp
但是,這有幾個問題,比如無法執行增量保存。
查看http://stackoverflow.com/questions/2921752/limiting-search-scope-for-code-in-vim – kikuchiyo 2012-02-23 17:03:58
對於功能有限的搜索:http://drchip.0sites.net/astronaut/vim/index .html#FUNCSRCH – 2012-02-23 17:06:56
@kikuchiyo:這對於偶爾的搜索很有幫助,但是在這個區塊裏工作很繁瑣。因此希望爲感興趣的塊設置單獨的緩衝區。 – dotancohen 2012-02-23 17:08:23