vi将默认找到的行设置为屏幕中心?

时间:2016-10-11 17:25:04

标签: unix solaris vi

在Solaris 10系统上使用vi。当我搜索具有通用语法

的字符串时
/foo<CR>

找到的线的位置在我显示器的60行内是随机的。有时它靠近顶部,有时是中间,通常是最后一行。

我希望它位于一致的位置,(位于底部的某个位置)。以下内容始终位于中间

/foo/z.<CR>

如果我只是输入

,我怎样才能使其成为默认行为
/foo<CR>

每次都会在中间显示找到的行?

1 个答案:

答案 0 :(得分: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

?!