VIM. C. В теле какой функции расположен курсор?
Изучая чужие исходники на С, иногда, курсор попадает в большую функцию не помещающуюся целиком в терминальном окне.
Требуется: максимально быстро определить в пределах какой функции находится курсор.
Варианты действий:
1.
- Прыжок к заголовку функции
[[[/code]
- Прыжок назад в исходную позицию [code]''
2.
Берём из атачмента скрипт и записываем его в ~/.vim/plugin:
% cp Cfname.vim.txt ~/.vim/plugin/Cfname.vim
Получаем следующие горячие клавиши:
- ff - В командной строке показывается прототип функции
- fb - Прыжок к началу функции
- fe - Прыжок в конец функции
- ft - Прыжок в позицию, в которой курсор находился до fb и fe
- fs - Включает новый статусбар, на котором (в режиме онлайн) отображается имя функции, в теле которой находится курсор. Данная фича заставляет очень сильно тормозить Vim, при редактировании больших файлов
- fd - Отключает предыдущую фичу.
| Вложение | Размер |
|---|---|
| Cfname.vim_.txt | 6.85 кб |
- 2156 просмотров
Страница для печати
..

Скрипт не понимает, как минимум, c++ методов. А так штука полезная наверное, если код plain c.
К сожалению, есть несколько ситуаций в которых скрипт и в С ведет себя несовсем адекватно. Я уже "пристыдил" девелопера :) Он пока не ответил. Постараюь сам довести скрипт до ума.
Отправить комментарий