首页 > 其他分享 >vim+ptags.py 实现跳转

vim+ptags.py 实现跳转

时间:2023-10-19 15:35:55浏览次数:28  
标签:文件 tags py vim ptags 跳转

转载:https://cloud.tencent.com/developer/article/1656073

网上很多帖子都是说通过 ctags 或者 ExuberantCtags 来实现函数跳转,如果你是 C 语言开发者,无可厚非,Python 怎么办?快来看下面操作吧!

1.步骤

1.下载一个文件

2.使用下载的文件为项目生成 tags 文件(里面记录了所有函数、类等位置,做了对应关系)

3.将生成的 tags 文件让 vim 读取

4.使用快捷键跳转

2.详细操作

1.复制然后利用浏览器打开网址:http://svn.python.org/projects/python/trunk/Tools/scripts/ptags.py

2.本地新建一个文件 ptags.py ,然后把打开网址后看到的内容拷贝进文件中。

3.然后使用如下命令生成 tags 文件:

3.1 为当前目录下所有 python 程序生成 tags 文件

ptags.py *.py

3.2 为整个项目生成 tags 文件:1.进入项目根目录;2.执行如下命令:

find  . -name \*.py -print | xargs /xxx/xxx/ptags.py

根据 ptags.py 文件的位置填写绝对路径

备注:如果上述命令执行提示没有权限,不要着急使用 sudo ,大概率是你没有给新建的文件 ptags.py 赋予执行权限。chmod 777 文件路径 暴力赋予一下就好了。

4.让 vim 找到路径。

4.1 打开配置文件

vim ~/.vimrc

4.2 添加如下内容,然后保存

set tags+=tags

4.3 在命令模式下输入如下命令,重新加载一下 vim 配置文件:

:source $MYVIMRC

5.跳转方式:

5.1 移动光标到某函数名下,然后使用快捷键 ctrl + ]

5.2 跳转回去:ctrl + t

标签:文件,tags,py,vim,ptags,跳转
From: https://www.cnblogs.com/hansjorn/p/17774808.html

相关文章

  • 25 个超棒的 Python 脚本合集
     Python是一种功能强大且灵活的编程语言,拥有广泛的应用领域。下面是一个详细介绍25个超棒的Python脚本合集:1.网络爬虫:使用Python可以轻松编写网络爬虫,从网页中提取数据并保存为结构化的格式。2.数据清洗和预处理:Python提供了许多库和工具,用于数据清洗、去重、填充缺失值和......
  • python 类装饰器,方法装饰器
    一:装饰器介绍1.为何要用装饰器Python中的装饰器是一种语法糖,可以在运行时,动态的给函数或类添加功能。装饰器本质上是一个函数,使用@+函数名就是可实现绑定给函数的第二个功能。将一些通用的、特定函数的功能抽象成一个装饰器,可以重复利用这些功能2.什么是装饰......
  • vscode远程ubuntu,python不识别opencv的函数
    将opencv-python更新到4.8版本以上https://github.com/microsoft/pylance-release/issues/4838......
  • 《动手学深度学习 Pytorch版》 9.4 双向循环神经网络
    之前的序列学习中假设的目标是在给定观测的情况下对下一个输出进行建模,然而也存在需要后文预测前文的情况。9.4.1隐马尔可夫模型中的动态规划数学推导太复杂了,略。9.4.2双向模型双向循环神经网络(bidirectionalRNNs)添加了反向传递信息的隐藏层,以便更灵活地处理此类信息。9......
  • numpy的数据类型转换和数组广播
    numpy对象的常用属性第一种方法装好python,然后打开终端输入pipinstalljupyter(如果觉得速度慢可以加上镜像站-ihttps://pypi.douban.com/simple/),然后再输入pipinstallnotebook(这里和前面一样,觉得慢就加镜像),打开在终端输入jupyternotebook。另一种方法就是去anacond......
  • python数据清洗日期格式和ipv4地址格式
    清洗日期格式importrefromdatetimeimportdatetime#读取文件withopen('result.txt','r')asfile:data=file.read()#使用正则表达式查找日期时间字符串pattern=r'(\d{2}/[A-Za-z]{3}/\d{4}:\d{2}:\d{2}:\d{2}\+\d{4})'matches=re.find......
  • Python中如何将字符串变成数字?
    字符串和数字是Python中常见的数据类型,而且在撰写Python程序的时候,也经常会遇到需要将字符串转换为数字的情况,那么Python中如何将字符串变成数字?有多种方法可以使用,接下来一起来看看具体内容介绍。1、使用int()函数int()函数可以将字符串转换为整数类型。例如,将字符串......
  • python脚本中应用多线程和多进程理解
    脚本内容因为要读取mongo某个全表数据(亿级别),有个字段有索引且是一堆多的关系从其他表读取所有这个字段(十万级别),再读取大表因为数据量大所以写个测试,从中拿出几条去大表查询(每次读到十万级别数据)多线程和多进程的影响不使用多线/进程file=open('test2.csv','w')content......
  • LSTM-CRF模型详解和Pytorch代码实现
    在快速发展的自然语言处理领域,Transformers已经成为主导模型,在广泛的序列建模任务中表现出卓越的性能,包括词性标记、命名实体识别和分块。在Transformers之前,条件随机场(CRFs)是序列建模的首选工具,特别是线性链CRFs,它将序列建模为有向图,而CRFs更普遍地可以用于任意图。本文中crf......
  • python写爆破字典
    #coding:utf-8withopen('username.txt','wb')asf:foriinrange(00000,99999):line=str('w'+'%05d'%i)+'\n'f.write(line)f.close()    ......