2012-04-02 12 views
2

:windoが私のカーソルを下のウィンドウに残しているようです。a:windoの後、どのようにカーソルを戻しますか?

私はそれをウィンドウとカーソル位置に戻すにはどうすればいいですか?:windoを実行する前に私はいましたか?

私はmZと考えていましたが、その後は`Zとなります。しかし、それはちょうど私がどこに戻って私を移動するのではなく、下部のウィンドウにファイルをもたらす。

Win XPで7.3.462を実行中です。

おかげ

答えて

1

seheの偉大な提案は2 mksessionsをやって、そしてそれらを差分のに私を導いてください。

:windo

let saved_winnr = winnr() 

そして、この後にする前に、私はこれを行う場合は、次の

exec saved_winnr . 'wincmd w' 

それは私が必要なものを私を取得します。

+0

これも問題に答える:http://vim.wikia.com/wiki/Windo_and_restore_current_window – shaggyaxe

2

あなたはバッファとビュー救うことができる:

let saved_bufnr = bufnr("%") 
let saved_view = winsaveview() 

をして正確な位置を復元するためにそれを使用

argdobufowindotabdoglobalまたはそれらの任意の組み合わせの後)
exec 'buffer ' . saved_bufnr 
call winrestview(saved_view) 

これは標準:mkview:mksession機能の基礎となる配管を効果的に使用します。あなたが本当にすべての手段によって、すべてのウィンドウ/タブを復元したい場合は、単に

:mksession! /tmp/tmpsession.vim 
:# do the work 
:source /tmp/tmpsession.vim 
+0

ありがとうございました。しかし、:bufferコマンドは最後のウィンドウにそのファイルをアップロードします。 'Zがやっていたように。 しかし、あなたのmksessionの提案は私にアイデアを与えました。私は今それをテストしています... – shaggyaxe

+1

@shaggyaxe 'switchbuf = useopen、usetab'を設定すると、すでにそのバッファを示していたウィンドウを取得する必要があります – sehe