Vim: Как мне узнать, где определена функция? ( - PullRequest
1 голос
/ 16 мая 2010

Я только что установил macvim вчера и установил vim latex сегодня.

Одним из пунктов меню является вызов неработающей функции (TeX-Suite -> view).

Когда я нажимаю на время меню, он делает этот вызов:

:silent! call Tex_ViewLatex()

Вопрос: Где я могу найти эту функцию? Есть ли способ выяснить, где он определен?


Ради любопытства я удалил тихую часть и запустил:

:call Tex_ViewLatex()

Который производит:

Error detected while processing function Tex_ViewLaTeX:
line   34:
E121: Undefined variable: s:viewer
E116: Invalid arguments for function strlen(s:viewer)
E15: Invalid expression: strlen(s:viewer)
line   39:
E121: Undefined variable: appOpt
E15: Invalid expression: 'open '.appOpt.s:viewer.' $*.'.s:target
line   79:
E121: Undefined variable: execString
E116: Invalid arguments for function substitute(execString, '\V$*', mainfname, 'g'
)
E15: Invalid expression: substitute(execString, '\V$*', mainfname, 'g')
line   80:
E121: Undefined variable: execString
E116: Invalid arguments for function Tex_Debug
line   82:
E121: Undefined variable: execString
E15: Invalid expression: 'silent! !'.execString
Press ENTER or type command to continue  

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

Ответы [ 4 ]

7 голосов
/ 17 мая 2010

Используйте префиксную команду :verbose:

:verbose function Tex_ViewLaTeX

Во второй строке вывода (чуть выше тела функции) находится место, где была определена функция.

0 голосов
/ 15 июня 2016

Поместите это в свой .vimrc, решил проблему для меня.

let g: Tex_ViewRule_pdf = 'open -a Preview.app'

0 голосов
/ 16 мая 2010

Один из способов поиска - это выполнить grep или vimgrep в дереве каталогов, где, по вашему мнению, находится исходный файл.Ищите 'function Tex_ViewLatex' или 'function!Tex_ViewLatex '.

Я полагаю, что при обычной установке она будет в файле ... / ftplugin / latex-suite / compiler.vim, как часть плагина latex-suite.Существует несколько каталогов ftplugin, поэтому убедитесь, что вы выбрали правильный (один находится в дереве основной установки vim, а другой может быть вне вашего домашнего каталога .vim.

Кажется, есть ошибка с функцией Tex_ViewLatexна OS X. Проверьте здесь для некоторой информации: http://comments.gmane.org/gmane.comp.editors.vim.latex.devel/775

0 голосов
/ 16 мая 2010

Я установил gVim 7.2 на windows и latex-suite, а также на miktex Я попробовал то, что вы сказали, после компиляции и просмотра, я могу просмотреть файлы DVI

Похоже, что сообщение об ошибке указывает на проблему с представлением

В документе для latex-suite говорится, что программа просмотра для Macintosh не установлена, возможно, именно в этом проблема

Я думаю, вы можете попытаться установить несколько переменных в вашем файле .vimrc, чтобы настроить правильное приложение для просмотра файлов PDF

А исходный код для Tex_ViewLaTeX находится здесь: http://www.tedpavlic.com/research_related/tpavlic_masters_thesis/compiler.vim

Кстати, я также установил MacVim на свой Macbook Pro, однако я никогда не использовал vim для LaTeXing, потому что я нахожу, что TextMate и его латексный пакет намного превосходят MacVim, вам определенно понравится

...