Я недавно начал использовать ракетку, и первое, что я сделал, это попытался заставить плагин vim TagList работать с ним. Тем не менее, это не работает ни в малейшей степени. Я могу открыть файлы ракеток, и окно TagList будет таким же пустым, как если бы я открыл текстовый файл.
В соответствии с расширением * я добавил в свой файл ~ / .vimrc следующее:
let Tlist_Ctags_Cmd = 'ctags --langdef=racket --langmap=racket:.rkt --regex-racket=/^\(def[a-zA-Z0-9\-_\?\/\\]+[ \t]+([a-zA-Z0-9\-_\/\\\?]+)/\1/d,definition/'
let Tlist_racket_settings = 'racket;d:Definition'
Дополнительная информация о ctags также находится в моем файле ~ / .ctags, но TList выкладывал ошибки о том, что моя строка настроек не принесла пользы. Я сделал оригинальную попытку использовать функциональность существующей схемы ctags, но у меня ничего не получилось. Чтобы использовать существующую функциональность схемы, я попробовал следующее в моем ~ / .vimrc
let Tlist_Ctags_Cmd = 'ctags --langmap=scheme:.rkt'
let Tlist_racket_settings = 'racket;f:Functions'
Если у кого-то еще есть идеи о том, как заставить его работать, я был бы чрезвычайно признателен.
Спасибо
- Я бы также опубликовал ссылку на одну страницу ctags, но она не позволила бы мне (новому пользователю). Ссылку на него можно найти на странице расширенного списка тегов.
РЕДАКТИРОВАТЬ
ctags из командной строки
Я могу использовать ctags из командной строки. При тестировании с помощью строки ctags на странице FAQ TagList я получаю следующее:
$ cat ~/.ctags
--langdef=racket
--langmap=racket:.rkt
--regex-racket=/^\(def[a-zA-Z0-9\-_\?\/\\]+[ \t]+([a-zA-Z0-9\-_\/\\\?]+)/\1/d,definition/
--regex-racket=/^\(define\-syntax(\-rule)?[ \t]+([a-zA-Z0-9\-_\/\\\?]+)/\2/m,macro/
--regex-racket=/^\(define?[ \t]+(([a-zA-Z0-9\-_\/\\\?]+)[ \t]+\(lambda|\(([a-zA-Z0-9\-_\/\\\?]+))/\2\3/f,function/
$ ctags -f - --format=2 --excmd=pattern --fields=nks XMMSClient.rkt
defenum XMMSClient.rkt /^(define-syntax defenum$/;" m line:11
defxmmsc XMMSClient.rkt /^(define-syntax defxmmsc$/;" m line:20
libxmmsclient XMMSClient.rkt /^(define libxmmsclient (ffi-lib "libxmmsclient"))$/;" d line:5
Вывод будет таким же, если я приведу определение языка с помощью переключателей или если я изменю язык на схему.
О TagBar
Я не видел TagBar, прежде чем люди предложили это. Интересно, что он просто работал с изменениями в моем файле .ctags. К сожалению, я не нашел настройки для отображения тегов из всех загруженных буферов, как это делает TagList, поэтому я бы предпочел использовать TagList.
Я бы опубликовал изображения для сравнения, но я не думаю, что это позволит мне, как новому участнику. Согласно предложению romainl, я могу установить для типа файла vim схему, и она работает. Однако это похоже только на 80% -ное решение, когда документация по расширяющимся страницам предполагает, что то, что у меня есть, должно работать. Возможно, мне стоит посмотреть на сообщение об ошибке.
Еще раз спасибо,