Как включить горизонтальную полосу прокрутки для всплывающих окон, когда мы делаем сейчас - PullRequest
19 голосов
/ 25 января 2012

Может кто-нибудь помочь с решением? Я хочу, чтобы горизонтальная полоса прокрутки появлялась всякий раз, когда я делаю 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 Ответ

35 голосов
/ 25 января 2012

Построим одну команду для одновременного переключения обеих опций.Прежде всего, он должен в любом случае переключать опцию wrap:

:set wrap!

Затем следует изменить guioptions в зависимости от того, включено ли обтекание в момент выполнения команды.Если текст переносится, нижняя полоса прокрутки должна отображаться при подготовке к отключению wrap:

:set guioptions+=b

В качестве альтернативы, если перенос текста отключен, она должна скрывать нижнюю полосу прокрутки:

:set guioptions-=b

Чтобы составить одну из трех вышеперечисленных команд, мы можем использовать отображение выражения

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

, которое превращается в последовательность нажатий клавиш

:set wrap! go+=b Введите

, если установлена ​​опция wrap (и равно единице), или

:set wrap! go-=b Enter

в противном случае (когда &wrap равно нулю).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...