vi 将默认找到的行设置为屏幕中心?
vi set default found line to center of screen?
在 Solaris 10 系统上使用 vi。当我搜索具有通用语法的字符串时
/foo<CR>
在我的显示器上的 60 行中,找到的行的位置是半随机的。有时它在顶部附近,有时在中间,通常是最后一行。
我希望它位于一致的位置(底部上方的某个位置)。下面会一直放在中间
/foo/z.<CR>
我怎样才能使它成为默认行为,以便我只需键入
/foo<CR>
每次都会在中间显示找到的行吗?
在您的 ~/.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
?!
在 Solaris 10 系统上使用 vi。当我搜索具有通用语法的字符串时
/foo<CR>
在我的显示器上的 60 行中,找到的行的位置是半随机的。有时它在顶部附近,有时在中间,通常是最后一行。
我希望它位于一致的位置(底部上方的某个位置)。下面会一直放在中间
/foo/z.<CR>
我怎样才能使它成为默认行为,以便我只需键入
/foo<CR>
每次都会在中间显示找到的行吗?
在您的 ~/.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
?!