vimが私が一番左の分割にあるかどうかを知る方法はありますか?

vimが私が一番左の分割にあるかどうかを知る方法はありますか?

私は一番右(または左、上、下)の分割にあるかどうかを検出したいと思います。つまり、ctrl-w hいつでも何も機能しません。これを行う方法はありますか?

ベストアンサー1

ただしwinnr()、これはシリアル番号です。つまり、左上のウィンドウと右下のウィンドウのみを確認できますが、正確なウィンドウ関係は確認できません。マッピング/スクリプトにこの情報が必要な場合は、説明したように正確に実行する必要があります。

function! IsLeftMostWindow()
    let curNr = winnr()
    wincmd h
    if winnr() == curNr
        return 1
    endif
    wincmd p " Move back.
    return 0
endfunction

編集:winnr( '$')は特別なケースであり、現在のタブで最も高いインデックスを返します。したがって、 winnr() == winnr('$') の場合、一番右下 (または唯一の) ウィンドウにあります。

おすすめ記事