Pull to refresh

Comments 23

UFO just landed and posted this here
Нихт. Наоборот, старый диалект. Когда хочу избежать лишней пафосности, сбиваюсь на подобное написание.
На всякий случай убрал, поскольку знаю, что отражать душевные порывы в непрозрачном тексте даже гуманитарии умеют только изредка...
Я делаю в .gvimrc следующее:
set columns=999
set lines=999
и gVim почти на полный экран (на 1 строчку сильнее можно растянуть при желании).
Может вы знаете как GVIM в Linux раскрыть реально на полный экран? Чтоб не было не меню, ни заголовка окна?
Про Linux не знаю. Меню отключается с помощью :set guioptions-=m под любой осью. Тулбар (если не нужен) отключается по аналогии :set guioptions-=T
А комманда
:simalt ~x
не делает ли то, что нужно?
В русской винде не делает.
... используйте русскую раскладку клавиатуры.
Хм, в 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'а, а с питоном в нем я не имел дела, так что хз.
Sign up to leave a comment.

Articles