Надежное контекстное окно C - PullRequest
0 голосов
/ 21 апреля 2011

Я недавно начал использовать ctx Vim addon. Этот аддон предоставляет «контекстное» окно, в котором отображаются уровни области действия - определения функций, циклы, операторы if и т. Д. - вплоть до текущей строки. Это действительно здорово! ..теоретически. На практике я обнаружил, что это не так уж и надежно. Мне может просто не повезло; До сих пор я пытался использовать его только для одного файла.

Например, в функции ExpandFromContext в vim's src/ex_getln.c подпись функции не отображается, только открывающая фигурная скобка.

Это дополнение довольно старое (последнее обновление 2002 года), и автор , похоже, перешел к явно не-C вещам (похоже, в основном на clojure development). Таким образом, в отчете об ошибке нет особого смысла.

Есть ли форк этого аддона или другой, который обеспечивает более надежный анализ?

Ответы [ 3 ]

1 голос
/ 21 апреля 2011

Хотя базовая эта функция была очень полезна для меня. Получил от друга, который получил его с сайта, поэтому не претендует на авторство. Добавьте его в свой vimrc для получения текущей функции, в которой вы находитесь. Я использовал ее только в C / C ++:

fun! ShowFuncName()
    let lnum = line(".")
    let col = col(".")
    echohl ModeMsg
    echo getline(search("^[^ \t#/]\\{2}.*[^:]\s*$", 'bW'))
    echohl None
    call search("\\%" . lnum . "l" . "\\%" . col . "c")
endfun

noremap <silent> <F3> :call ShowFuncName() <CR>
0 голосов
/ 23 июля 2015

Может быть SrcExpl подходит для вас.

0 голосов
/ 21 апреля 2011

Может быть, плагин также устарел, потому что в то же время есть и другие хорошие функции Vim, по крайней мере - 6 способов (сворачивание справки), - работа с текстовыми объектами (: текстовые объекты справки)

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