编辑python文件时,我经常会忘记我在文件结构中的位置。例如,如果我有几个大类都实现了foo
方法,我可能知道我在foo
函数,但不知道我在哪个类。或者更简单,如果我有很大的功能,如果功能定义不在屏幕上,我甚至可能不知道我在做什么功能。
在Vim中我是否可以打印出文件中当前位置的路径?例如,显示我所在的类或类,以及我所在的函数?
答案 0 :(得分:3)
我认为Tagbar和Taglist都有这种功能,但你总是可以[[
跳转到类定义和``
(反引号反引号)跳回你当前的位置。
这种快速而脏的映射将回显当前光标位置上方的第一个类和方法定义:
nnoremap <F6> :echo getline(search('^class', 'bn')) . "\n" . getline(search('^\s*def', 'bn'))<CR>
答案 1 :(得分:2)
查看Tagbar - Display tags of the current file ordered by scope插件。使用 ctags 生成的信息(因此它支持多种语言,而不仅仅是Python),它在侧栏中显示缓冲区的结构(即类&gt;方法),并且可以更新&# 34;你在这里&#34;基于光标位置的标记。
请记住,Vim不是IDE,因此您无法找到相同的舒适度(但真正有效的文本编辑功能)。