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+=b
Enter
オプションが設定されている場合wrap
(そして1と評価される場合)、または
:set wrap! go-=b
Enter
それ以外の場合(&wrap
ゼロと評価された場合)。