2016-04-08 2 views
0

Я хочу написать скрипт vim, который открывает новое окно с vsplit, где ширина нового окна равна общему количеству столбцов минус 90.VimL: VSPLIT с шириной, указанной как функция общей ширины

Результатом будет то, что текущее окно будет шириной в 90 колонок (для просмотра 80 колод кода + водостока), а новый vsplit будет занимать любую часть экрана.

Если я правильно понял vsplit: vsplit 90 указывает, что создаваемое окно должно быть 90 столбцов. Есть ли способ получить текущее количество столбцов в окне в переменную?

let cur_cols = [insert magic here] 
let win_width = cur_cols - 90 
execute "vsplit ". win_width 
+0

'winwidth' будет обеспечивать ширину (в столбцах) текущего разделения. Попробуйте ': echo winwidth (0)' –

+0

Это правильный ответ, если вы хотите отправить его, я проверю его. –

ответ

1

Используйте winwidth, чтобы найти ширину окна. winwidth возвращает ширину как нет. окна символов можно разместить. В вашем случае, используйте

let cur_cols = winwidth(0) 

Здесь параметр 0 относится к текущей вдовой. Для получения дополнительной информации

:help winwidth 
:help :vsplilt 
Смежные вопросы