2016-10-06 5 views
3

検索後に画面の中央にカーソルを置いて欲しいです。 /?を同じ方法でマッピングする方法:私は私の質問がある Vimで検索した後のカーソルの中心位置

の.vimrcに次の行を*#nNコマンドに対して

​​を達成していますか?私。私はいくつかのテキストは、それは非常にきれいではないですが、

:nnoremap/:execute "normal! /\<lt>cr>zz"<c-left><right> 

は仕事を得るでしょう

/some-text-to-find-forward 
?some-text-to-find-backward 
+1

[vim-oblique plugin](https://github.com/junegunn/vim-oblique)はこれを行います。しかし、それは多くの依存関係を持ち、時には遅れを生み出します。 – statox

答えて

3

編集右の場所で検索パターンに手順ように、それを最後まで<cr>zzを追加し、コマンドラインで:execute "normal! /"コマンドを入れます私の最初の答えは、それはその場しのぎのあまりだった。ここでははるかに優れたソリューションです。

function! CenterSearch() 
    let cmdtype = getcmdtype() 
    if cmdtype == '/' || cmdtype == '?' 
    return "\<enter>zz" 
    endif 
    return "\<enter>" 
endfunction 

cnoremap <silent> <expr> <enter> CenterSearch() 

これが機能する方法を再マップするカスタム式にコマンドラインモードでを入力します。

ザコマンドラインが現在検索されている場合は、zzの順で現在の検索が実行されます。それ以外の場合は、実行中のコマンドが実行されます。

+0

ありがとうございます!魅力的な作品! – user2146414

1

を使って発見された後にカーソルを置きたいと思います。 。捨てた:(あなたは自動的にzzは、コマンドを発行すると、最終的な<c-left><right>がちょうど

+0

ありがとうございました!あなたは正しい:それは "かなりverryではない"しかし、働いている:私は試して、私のvimrcに入れたが、今はちょっときれいだと思われるRandyのソリューションを試してみたい;) – user2146414

+0

彼はより良いバージョンですそして迷いのあるバックスペースを台無しにする機会はあまりありません...)、私はなぜ自分でそれを考えなかったのか非常に混乱しています。彼に誇り。 – Wolfie

関連する問題