Как вы можете получить vim, чтобы добавить заголовок комментария к новым файлам? - PullRequest
3 голосов
/ 24 мая 2011

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

Я склонен хранить свои проекты в

~/Development/Repos/Personal

И

~/Development/Repos/Work

Могу ли я заставить vim использовать разные авторские права и т. Д. В зависимости от того, где находится файл, создаваемый?

Ответы [ 3 ]

2 голосов
/ 24 мая 2011

Вы можете просто сохранить шаблон заголовка в виде простого текстового файла и прочитать его в новый файл с помощью : read .Что касается проверки пути, просто напишите скрипт на Ruby, чтобы получить желаемый текст, и вызовите его с помощью : read! .Создание настоящего плагина vim также является опцией.Однако зачем тратить время на изучение нового языка и API, если вы уже знаете, как работать с текстом и путями в Ruby?Хотя bash-скрипт создаст еще меньше трения, если вам это удобно.

1 голос
/ 24 мая 2011

Вот фрагмент из моего vimrc , который вставляет шаблон, когда я создаю файл с именем test_something.rb.Вероятно, вы можете использовать аналогичный autocmd для условного добавления желаемого авторского права.Возможно, вам придется проверить расширенный путь в функции, но это кажется выполнимым с некоторыми vimscripting.

" Autocommands
autocmd BufNewFile *test*.rb call MakeRubyUnitTester()

"
" Functions
" Fill in the boilerplate for Ruby Unit Tests
function! MakeRubyUnitTester()
    exec "normal irequire 'test/unit'

class TC_Simple < Test::Unit::TestCase"
endfunction
1 голос
/ 24 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...