2016-10-11 43 views
1

在Solaris 10系統上使用vi。當我搜索字符串的常用語法vi將默認發現的行設置爲屏幕中心?

/foo<CR> 

找到線的位置是我的顯示器上顯示60行內semingly隨機的。有時它靠近頂部,有時是中部,通常是最後一條線。

我希望它位於一個一致的位置,(底部以上的某處)。下面將始終將其放置在中間

/foo/z.<CR> 

我怎麼能作出這樣的默認行爲,這樣,如果我只需鍵入

/foo<CR> 

它會顯示在每一次中間找到的行?

+0

這個Q **可能更適合於S.E.相關網站http://superuser.com或http://vi.stackexchange.com。考慮使用Q底部的'flag'鏈接並請主持人移動它。請不要在2個不同的網站上發佈相同的Q.感謝和好運 – shellter

+0

當不需要時,vi不會滾動。當屏幕上的文件部分有更多'foo'時,它會跳過它們。當你的文件只有一行時,vi如何將這行放在中間? –

回答

1

添加在您的~/.vimrc是這樣的:

let g:in_search = 0 
function! StartSearch() 
    let g:in_search = 1 
endfunction 

function! EndSearch() 
    if g:in_search 
    normal! zz 
    endif 
    let g:in_search = 0 
endfunction 

nnoremap/<ESC>:call StartSearch()<CR>/ 
cnoremap <CR> <CR>:call EndSearch()<CR> 
nnoremap n nzz 
nnoremap N Nzz 

可以做的伎倆。

但是,也許你只需要:

set incsearch 
set hlsearch 

?!

+0

vi,不是vim,所以我創建了.virc並放入了腳本。它似乎工作正常,謝謝。 (也沒有incsearch和hlsearch可用)。 – JimR

相關問題