2013-02-15 4 views
2

Я только недавно начал использовать функции фолдинга vim, и это очень полезно для языков, на которых он отлично работает.Vim Code Folding for Scilab

Моя проблема заключается в том, как vim замечает маркеры разметки в кодеке scilab. Он по умолчанию равен

/*{{{*/ and /*}}}*/ 

который отлично работает на языках C, но на самом деле это не комментарий в scilab. Я получаю ошибку умножения, когда я пытаюсь запустить код.

Я попытался добавить

autocmd FileType scilab set fmr=//{{{,//}}} 

в мой файл .vimrc, который не совсем делать то, что я хотел. Это приводит к

/*//{{{*/ and /*//}}}*/ 

которые все еще не являются комментариями. Код «складывается» отлично, но становится непригодным. Я мог бы создать макрос, чтобы заменить каждый экземпляр «/ *» на «//», но это может иметь непреднамеренные последствия при применении глобально к файлу.

Итак, вопрос: как я могу настроить метки маркера vim для файлов scilab таким образом, чтобы они не отображали файл непригодным для использования?

ответ

3

Вы не добавили комментариев к 'foldmarker' себе, есть опция 'commentstring', которая влияет на то, как Vim окружает метки разметки (при создании складок с zf). Попробуйте установить

:setlocal commentstring=//%s 

для SciLab типов файлов. (Поместите команду в ~/.vim/after/ftplugin/scilab.vim, чтобы сделать ее постоянной.)

1

Мне кажется, что vim не понимает, как работают комментарии SciLab. Я не уверен, что в настоящее время vim поставляется с синтаксической логикой SciLab, синтаксис правильно подсвечен в ваших файлах SciLab? Если нет, вы можете получить файл синтаксиса с here.

Есть ли определенная причина, по которой вы хотите использовать метки? Они фактически не нужны. Если вы не хотите Vim в авто-кратное синтаксиса или уровень отступа, вы можете вручную определить складки с

:set foldmethod=manual 

Это позволяет выбрать фрагмент текста в визуальном режиме и превратить его в складку с ' Zf». Никаких оценок не требуется.

Дополнительная информация о различных методах складывания vim here.

+0

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

+0

Комментарии Scilab в 5 familly просто // Версия 6 будет иметь/* */как много других языков, но это не на сегодня. – Sylvestre

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

  • Нет связанных вопросов^_^