我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python 代码跳转

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python 代码跳转

用vim作python开发,在看源码的时候,发现无法跳转,发现ctags是专门为c语言准备的。

很多人不会注意到python的发行包下Tool/scripts的文件夹。里面的ptags.py可以用来生成vim需要的tags(eptags.py for emacs)

脚本的目录是python源码下的Tool/script/ptags.py。 如果不想去找,可以直接copy一份,http://svn.python.org/projects/python/trunk/Tools/scripts/ptags.py,放在你方便的位置,然后使用ptags.py生成tag。


为当前目录生成tag文件 :  ptags.py *.py

为整个项目生成tag文件:find  . -name \*.py -print | xargs ptags.py


然后就有tag了。在vim的配置文件中导入tag文件的目录就可以了。

比如在.vimrc 中添加:

set tags+=tags

set autochdir



?
1
/home/bigzhu/.local/share/Trash/files/Python-2.5.2/Tools/scripts/ptags.py  *.py

同个文件再跳就是这样的:


源码:

转自http://www.oschina.net/code/explore/Python-3.1.3/Tools/scripts/ptags.py
#! /usr/bin/env python

# ptags
#
# Create a tags file for Python programs, usable with vi.
# Tagged are:
# - functions (even inside other defs or classes)
# - classes
# - filenames
# Warns about files it cannot open.
# No warnings about duplicate tags.

import sys, re, os

tags = []    # Modified global variable!

def main():
    args = sys.argv[1:]
    for filename in args:
        treat_file(filename)
    if tags:
        fp = open('tags', 'w')
        tags.sort()
        for s in tags: fp.write(s)


expr = '^[ \t]*(def|class)[ \t]+([a-zA-Z0-9_]+)[ \t]*[:\(]'
matcher = re.compile(expr)

def treat_file(filename):
    try:
        fp = open(filename, 'r')
    except:
        sys.stderr.write('Cannot open %s\n' % filename)
        return
    base = os.path.basename(filename)
    if base[-3:] == '.py':
        base = base[:-3]
    s = base + '\t' + filename + '\t' + '1\n'
    tags.append(s)
    while 1:
        line = fp.readline()
        if not line:
            break
        m = matcher.match(line)
        if m:
            content = m.group(0)
            name = m.group(2)
            s = name + '\t' + filename + '\t/^' + content + '/\n'
            tags.append(s)

if __name__ == '__main__':
    main()



Python 代码跳转

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python 代码跳转

用vim作python开发,在看源码的时候,发现无法跳转,发现ctags是专门为c语言准备的。很多人不会注意到python的发行包下Tool/scripts的文件夹。里面的ptags.py可以用来生成vim需要的tags(eptags.py
2023-01-31

android跳转代码怎么写

在Android中,可以使用Intent来实现跳转功能。下面是一个示例代码,展示了如何在一个按钮点击事件中实现跳转到另一个Activity的功能:```java// 在当前Activity中的某个按钮点击事件中调用跳转代码Button bu
2023-09-22

html跳转代码怎么写

这篇文章主要介绍了html跳转代码怎么写,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适
2023-06-14

PHP跳转代码的实现方法

这篇文章主要讲解了“PHP跳转代码的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP跳转代码的实现方法”吧!PHP跳转代码默认文档设置1 :< ?php switch ($_
2023-06-17

PHP页面跳转技巧:掌握跳转到新页面的代码

PHP页面跳转技巧:掌握跳转到新页面的代码随着互联网的发展,网页跳转成为网页设计和开发中常见的操作,而在PHP开发中,跳转到新页面是一种常见的需求。本文将向您介绍在PHP中实现页面跳转的技巧以及具体的代码示例。1. 使用header函数
PHP页面跳转技巧:掌握跳转到新页面的代码
2024-03-04

android 跳转进市场的实现代码

跳转进市场的代码 代码如下:Intent intent = new Intent(Intent.ACTION_VIEW);2 intent.setData(Uri.parse("market://details?id=" + getPack
2022-06-06

java转python代码

今天发现一个好玩的工具:可以直接将java转成python 1. 安装工具(windows 环境下面) 先下载antlr: http://www.antlr3.org/download/antlr-3.1.3.tar.gz 链接:http:
2023-01-31

Go语言中怎么实现代码跳转

这篇文章主要讲解了“Go语言中怎么实现代码跳转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言中怎么实现代码跳转”吧!一、基本概念在Go语言中,代码跳转是指从一个位置跳转到另一个位置。
2023-07-06

【vscode基于clangd实现Android/Linux代码跳转】

背景: 在开发大型工程例如Android或Linux时若我们使用vscode搭配官方的C/C++插件使用发现,经常很多代码都无法跳转,代码补全功能几乎是废的,通过网友以及同事身边了解之后发现vscode+clangd可以实现代码任意跳转补全
2023-08-24

PHP刷新跳转页面代码怎么写

这篇文章主要讲解了“PHP刷新跳转页面代码怎么写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP刷新跳转页面代码怎么写”吧!1. 理解PHP刷新跳转的基本原理首先,我们需要理解PHP刷新
2023-07-05

vs窗体程序跳转代码怎么写

在窗体程序中实现跳转功能通常涉及到两个窗体之间的切换。以下是一个简单的示例代码,展示了如何在一个窗体程序中实现跳转功能:// Form1.csusing System;using System.Windows.Forms;namespa
vs窗体程序跳转代码怎么写
2024-04-08

php实现页面跳转的代码如何写

这篇“php实现页面跳转的代码如何写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php实现页面跳转的代码如何写”文章吧。对
2023-07-05

PHP代码示例:实现页面跳转功能

在PHP中,我们可以使用header()函数来实现页面跳转功能。下面是一个简单的示例:
PHP代码示例:实现页面跳转功能
2024-03-07

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录