2016-05-02 3 views
0

Я пытаюсь написать новый .vimrc для моего ноутбука ubuntu. Я использую Intellij IDEA с плагином Ideavim вместе с vim и gvim. Я хочу создать один .vimrc для vim, gvim и VIM в Intellij Idea.Как обнаружить vim vs gvim в .vimrc

Команда, Идея, :set relativenumber не работает, и я хочу включить ее только для vim и gvim.

Есть ли способ, которым я могу определить, является ли это vim или gvim, а затем запустить :set relativenumber? Или, есть ли способ создать отдельный общий скрипт, который будет запущен во всех трех из них и отдельный файл сценария для каждого из них отдельно?

ответ

0

Прежде всего, идеавим не vim! Он может читать конфигурационный файл vim и загружать некоторые параметры, которые «поддерживаются» ideavim. Я полагаю, что в этом фоне есть сопоставление между опциями vim и опциями/функциями редактора intellij, реализованных java. Ideavim не может интерпретировать или выполнять vimscript. Вы можете попробовать некоторые функции vim, они не будут работать с ideavim. Например, функция has(), упомянутая Ronakg.

С другой стороны, vim не знает, что такое ideavim, он также не может получить информацию о Intellij.

Я использую оба vim и ideavim. Я не буду корректировать свой vimrc для ideavim. Я не ожидаю, что мой идеавим станет полностью вооруженным редактором vim (я люблю его, хотя). Для меня достаточно, что я могу применить некоторые основные операции vim, когда я программирую java в intellij, например. навигации, текстового объекта и т. д. Если есть какие-то опции, функции в вашем vimrc, которые не поддерживаются ideavim, вам не нужно заботиться о них. Мой опыт говорит о том, что ideavim применяет только варианты vim, которые он поддерживает. Для более подробной информации, PLS прочитать помощь/документ ideavim.

0

Вы можете использовать if has("gui_running"), чтобы узнать, работаете ли вы в vim или gvim.

+0

У меня там аналогичный способ обнаружить IdeaVIM? – ManojRK

+0

@ManojRK IdeaVim должен также устанавливать 'gui_running'. Попробуйте. – ronakg

Смежные вопросы