Использование Vim Sessions Only с графическим интерфейсом? - PullRequest
1 голос
/ 01 декабря 2008

Мой сценарий использования может показаться немного необычным, но вот он: Когда я использую vim (это один из 4 разных редакторов, которые я регулярно использую), я использую его в двух разных ситуациях. Первый - через графический интерфейс, в котором у меня будет несколько буферов и некоторые параметры будут отличаться от тех, которые я использую из командной строки (путем тестирования «if has('gui_running')»). Другой случай, когда мне нужно сделать что-то короткое и быстрое из командной строки, например, внести небольшое изменение в файл точек или другой тип конфигурации.

То, что я хотел бы сделать, это включить сеансы для графического интерфейса, но любые вызовы командной строки игнорируют их. То есть я не хочу поднимать весь существующий сеанс при вызове CL, и при этом я не хочу, чтобы он (и какой бы буфер / файл он ни задействовал) изменял сеанс, который использует GUI. Поскольку я довольно новичок в пост-vi-функциональности vim, я не совсем уверен, как это осуществить.

Ответы [ 2 ]

5 голосов
/ 01 декабря 2008

сотворите магию сессии в вашем .gvimrc и все остальное в вашем .vimrc. GUI будет источником обоих, но версия CL будет источником только .vimrc.

Волшебство сеанса состоит в том, чтобы настроить автокоманды для записи сеанса в файл при выходе и перезагрузить его, используя файл при входе.

au VimLeave * mksession ~/.gvimsession
au VimEnter * source ~/.gvimsession
2 голосов
/ 02 мая 2011

Вы можете добавить! в mksession, чтобы вы не получали сообщение об ошибке переопределения при выходе каждый раз.

au VimLeave * mksession! ~/.gvimsession
au VimEnter * source ~/.gvimsession
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...