Vim で 'nowrap' が設定されている場合に水平スクロールバーをポップさせるにはどうすればよいでしょうか? 質問する

Vim で 'nowrap' が設定されている場合に水平スクロールバーをポップさせるにはどうすればよいでしょうか? 質問する

nowrap次のような不便さを解決する方法を教えていただけませんか?オプションを設定するたびに水平スクロールバーが表示されるようにし、 に戻すと逆にスクロールバーが表示されるようにしたいですwrap

現在、作業を容易にするために、これらの設定を個別に使用しています。

nnoremap <silent> <F3> :if &guioptions=~#'b'<Bar>set guioptions-=b<Bar>else<Bar>set guioptions+=b<Bar>endif<CR>
map <F2> :set nowrap! <CR> 

両方を同時に切り替える方法はありますか?

ベストアンサー1

両方のオプションを一度に切り替えるための単一のコマンドを作成しましょう。まず、wrapオプションを切り替える必要があります。

:set wrap!

次に、guioptionsコマンドの実行時に折り返しが有効になっているかどうかに応じて変更する必要があります。テキストが折り返されている場合は、wrap無効にするための準備として下部のスクロールバーを表示する必要があります。

:set guioptions+=b

あるいは、テキストの折り返しがオフになっている場合は、下部のスクロールバーが非表示になります。

:set guioptions-=b

上記の3つのコマンドを1つにまとめるには、式マッピングを使います。

:nnoremap <silent><expr> <f2> ':set wrap! go'..'-+'[&wrap].."=b\r"

これはキー入力のシーケンスに変換されます

:set wrap! go+=bEnter

オプションが設定されている場合wrap(そして1と評価される場合)、または

:set wrap! go-=bEnter

それ以外の場合(&wrapゼロと評価された場合)。

おすすめ記事