Как стать автором
Обновить

Комментарии 23

НЛО прилетело и опубликовало эту надпись здесь
Нихт. Наоборот, старый диалект. Когда хочу избежать лишней пафосности, сбиваюсь на подобное написание.
На всякий случай убрал, поскольку знаю, что отражать душевные порывы в непрозрачном тексте даже гуманитарии умеют только изредка...
Я делаю в .gvimrc следующее:
set columns=999
set lines=999
и gVim почти на полный экран (на 1 строчку сильнее можно растянуть при желании).
Может вы знаете как GVIM в Linux раскрыть реально на полный экран? Чтоб не было не меню, ни заголовка окна?
Про Linux не знаю. Меню отключается с помощью :set guioptions-=m под любой осью. Тулбар (если не нужен) отключается по аналогии :set guioptions-=T
А комманда
:simalt ~x
не делает ли то, что нужно?
В русской винде не делает.
Делает...
:simalt ~Р
... используйте русскую раскладку клавиатуры.
Хм, в W2K не работало. То ли в XP породнилось, то ли в новой версии Vim заработало.
Вот проверил только что — не работает у меня. Поставил на XP Prof SP2 MUI с русским языком, включил русский язык. Добавил в _gvimrc строку :simalt ~Р. При старте вообще ничего не происходит, если сделать явно :source ~/_gvimrc — открывается системное меню и висит. encoding=utf8, .vimrc и _gvimrc соответственно тоже в utf8. Сделал set encoding=cp1251, сохранил _gvimrc в CP1251. Результат тот же. Всё-таки set lines и set co надёжнее.
> открывается системное меню и висит
Подтверждаю, именно такое поведение и наблюдал в 2K.
Видимо, Vim плохо дружит с MUI (хотя в русской XP у мну таки работает).
С другой стороны, у меня на русских буквах не работает gu и gU (то есть lowercase и uppercase), хотя раньше когда-то наоборот работало.
У меня gu и gU работают для русских букв в английской винде :) Может у вас Vim без +iconv собран?
Нееееее, вы чо. За лоха меня держите? Тут всё нормальные пацаны собрались, iconv у всех есть.

Траблу давно не могу собраться разрулить, но в рассылке уже годы тому назад видал вопли по поводу корявой поддержки русских букв местами. Вот, видимо, зависит от расположения звезд, под которыми был собран вариант винды.
Я вот тут проверил у себя. Если encoding=cp1251 — gu и gU не работают с русским алфавитом. Если encoding=utf8 — работают.
Черт, я как-то всегда думал, что у него унутре UTF без вариантов, и даже всё время немного грызла мысль: "а на фига вообще опция encoding?.." Спасибо, добрый человек!

Теперь осталось понять, почему Punto Switcher'овский break оставляет первую букву несконверченой, а после неё пишет всё слово сконверченым. Причем Lingvo так же себя ведет.
Да, set lines надежнее, это бесспорно, сам его использую.
По поводу работы :simalt ~Р. Действительно, если прописать команду в конфиг, то не работает. Я делал ручками. Опишу последовательность своих действий:
1. пишем :simalt ~
2. включаем русскую раскладку
3. дописываем Р
4. НЕ переходя на англ. раскладку жмем Enter
Работает, хотя достижение, конечно, сомнительное.

Вот выдержка из хелпа по Vim по поводу максимизации окна:
If you want Vim to start with a maximized window, add this command to your
vimrc or gvimrc file: au GUIEnter * simalt ~x
Можете попробовать плагин для максимизации окна Vim.
Поигрался и выяснил вот что. simalt ~Р работает только если в момент выполнения этой команды включена русская раскладка.
Ну это, я бы сказал, не путь джедаев - раскладку туда-сюда мучать, чтобы окошко развернуть. Особенно если за день пицот раз надо его развернуть.
Если вим собран с +python, а в питоне есть пакет ctypes:


py from ctypes import *
py hwnd = windll.user32.FindWindowA('Vim', 0)
py if hwnd != 0: windll.user32.ShowWindow(hwnd, 3)


FindWindow возвращает описатель последнего открытого окна (при запуске вима его окно и будет последним). Для того, чтобы вернуть прежнее положение (типа simalt ~r), второй параметр в ShowWindow надо заменить на "1".
Можно и так, принципиальной разницы нет - на питоне делать или на сях, раз один и тот api доступен. Только рассчитывать, что окно будет обязательно последним - ненадежно (если я правильно понял схему работы), мало ли что может одновременно в системе происходить.

Лучше уж тогда код из плагина перегнать в питон :) правда, там есть условие, что код выполняется внутри процесса Vim'а, а с питоном в нем я не имел дела, так что хз.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории