2014-10-31 3 views
1

В моей .vimrc я следующее:обнаружить vrapper в .vimrc

Это отлично работает при использовании Vim в терминале, однако это не совместимо с vrapper (затмение VIM плагин). Vrapper полностью перестает работать, когда эти настройки находятся в моем .vimrc. В моем домашнем каталоге у меня есть файл .vrapperrc, который представляет собой просто символическую ссылку, указывающую на мой файл .vimrc. Следовательно, настройки vim, которые загружаются для vim/vrapper, равны.

Есть ли способ, которым в моем .vimrc я могу обнаружить, что настройки загружаются для vrapper вместо default (terminal) vim. Таким образом, я хотел бы отключить эти параметры для vrapper и просто загрузить их, когда vim используется из командной строки. Возможно, есть другой умный способ решить эту проблему. Конечно, я мог бы создать два файла .vimrc, один для vim по умолчанию и один для vrapper, однако таким образом мне нужно было бы поддерживать два файла, которые я бы хотел предотвратить.

ответ

2

У меня была аналогичная проблема, в которой Vrapper выполнял содержимое моих функций сразу, потому что не понимал, какими они были.

Я решил ее оборачивать ВИМ только код с

if has("eval") 
    " vim only code 
endif 

вызвавшего Vrapper игнорировать его.

-1

Как вы думаете, как это работает?

Ваш ~/.vimrc не является разумным существом, которое может принимать решения самостоятельно: оно должно быть получено программой, которая его понимает и ... эта программа является Vim.

Vrapper поддерживает только a subset of Vim's vocabulary, поэтому не очень разумно ожидать, что он будет вести себя точно нравится Vim. Основная недостающая функция, которая позволила бы обнаружить обнаружение, о котором вы спрашиваете, - vimscript: поскольку Vrapper не поддерживает его, вы не можете использовать конструкцию if-else-endif!

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

Вы попробовали команду Vrapper :source?

0

Как отметил @romainl, Vrapper понимает только ограниченный набор команд и функций Vim. Определения функций, тройники и <expr> определенно не поддерживаются.


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

Например, поместите эти основные параметры в вашем .vrapperrc:

set ignorecase 
set hlsearch 

Затем вы можете сделать это в вашем .vimrc:

" Load common settings for Vim/Vrapper 
source .vrapperrc 
" ... Other Vim-specific settings 

Обратите внимание, что Vrapper также имеет команду source, так что вы могли бы в теории имеют 3 файла rc с «общими» настройками, разделяемыми между ними:

Пример .vrapperrc:

set novisualmouse 
source .vimcommonrc 

Пример .vimrc

" Use j/k to naviage the word completion popup menu 
inoremap <expr> j pumvisible() ? "\<C-N>" : "j" 
inoremap <expr> k pumvisible() ? "\<C-P>" : "k" 
source .vimcommonrc 

И общие настройки:

set hlsearch 
set ignorecase 

Это ваш выбор.

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