Установить минимальную ширину нового вертикального разделения в Vim - PullRequest
1 голос
/ 01 декабря 2011

В моем окне Vim установлено значение 90 столбцов с использованием set columns=90, но это вызывает проблемы, когда команды (в частности, pyunit-vim) открывают новые вертикальные разбиения, поскольку в каждом окне только 45 столбцов, что слишком узко,В идеале я хотел бы добавить расщепления к существующей ширине, а не посягать на нее.Есть ли способ указать это поведение?

1 Ответ

1 голос
/ 01 декабря 2011

РЕДАКТИРОВАТЬ: только что заметил возможный дубликат комментария, после того, как я ввел этот ответ. Этот код выглядит немного лучше и более общего назначения, чем мой (мой ориентирован на OP, который имел дело с одним широким или двумя широкими разбиениями). Кроме того, я думаю, что вы можете удалить WinLeave autocmd в моем, поскольку выход из окна будет связан с вводом другого окна в сценариях, которые я могу себе представить.

Я думаю, что вы можете приблизиться к тому, что вы хотите, назначив autocmds WinEnter и WinLeave. Приведенный ниже код настраивает вызов функции настройки размера при каждом входе или выходе из окна. Лучшее событие для входа, я думаю, может быть BufWinEnter. Возможно, вам придется настроить, но код, подобный этому, в вашем vimrc будет работать, я думаю:

autocmd WinEnter * call AdjustSize()
autocmd WinLeave * call AdjustSize()
function! AdjustSize()
    if (winwidth('%')<50) && (&columns<=90)
        set columns = 2 * &columns
        "then make widths the same
        exe "normal! \<c-w>="
    else 
        set columns=90
        " or adjust size only if window isnt' huge...
        " if columns >= 150
        "     set columns = 90
        " endif
    endif
endfunction
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...