当前位置: 首页 > article >正文

Notepad++ 学习(三)使用python插件编写脚本:实现跳转指定标签页(自主研发)

目录

    • 一、先看成果
    • 二、安装Python Script插件
    • 三、配置Python脚本
    • 四、使用脚本跳转标签页
      • 方法一:通过菜单运行
      • 方法二:设置快捷键(推荐)
    • 五、注意事项
    • 六、进阶使用

  • 官网地址: https://notepad-plus-plus.org/
  • Python Script 插件官方文档: https://npppythonscript.sourceforge.net/docs/latest/notepad.html

Notepad++ 是一款功能强大的文本编辑器,通过Python Script插件可以实现自动化操作。本文将详细介绍如何使用Python脚本快速跳转到指定标签页。

一、先看成果

  1. Ctrl + Shift + J 快捷键后会弹出输入框,提示输入标签页序号。如下图所示:
  1. 输入数字后按下OK或直接回车,将立即跳转到对应标签页。例如下图所示,输入1会跳转第一个标签。

在这里插入图片描述

  1. 如果输入无效数字,会显示错误提示。如下图所示:

二、安装Python Script插件

  1. 打开Notepad++。

  2. 点击菜单栏 插件插件管理...

    在这里插入图片描述

  3. 在插件列表中搜索 “Python Script” 并勾选。

  4. 点击"安装"按钮。

    在这里插入图片描述

  5. 弹出提示后,确定没有需要保存的文件,点击“是”

  1. 安装完成后重启Notepad++

注意:如果Plugin Admin中没有找到该插件,可以手动下载并解压到Notepad++的plugins目录

三、配置Python脚本

  1. 点击菜单栏 插件Python ScriptNew Script

    在这里插入图片描述

  2. 输入脚本名称,如 jump_to_specified_tab.py

  3. 粘贴以下代码:

# -*- coding: utf-8 -*-
from Npp import notepad# 跳转到指定序号的标签页(支持弹窗输入)
def jump_to_tab():# 获取所有打开文件,包含(文件名、缓冲区ID、索引、视图)的元组列表files = notepad.getFiles()# 获取所有打开文件数量tab_count = files.__len__()# 打印提示user_input = notepad.prompt("Input tab index (1-{}):".format(tab_count),"Jump to Tab","")# 开始跳转标签if user_input and user_input.isdigit():target_index = int(user_input) - 1if 0 <= target_index < tab_count:# 激活给定的缓冲区IDnotepad.activateBufferID(files[target_index][1])else:notepad.messageBox("Error: Invalid index!", "Warning")jump_to_tab()
  1. 保存脚本文件。

在这里插入图片描述

补充:脚本文件默认会保存在 C:\Users\lenovo\AppData\Roaming\Notepad++\plugins\config\PythonScript\scripts 目录下。

四、使用脚本跳转标签页

方法一:通过菜单运行

  1. 点击 插件Python ScriptScripts
  2. 选择 jump_to_specified_tab.py 脚本。

(注意:对于 Python Script 菜单下的脚本,直接点击是运行,按住 Ctrl 点击则是编辑脚本。)

在这里插入图片描述

执行结果:

可以看到,一共打开了366个标签,我们可以通过输入范围内的数字选择想要跳到哪个标签,点击 “OK” 或直接回车就可以执行。

方法二:设置快捷键(推荐)

  1. 首先,我们需要将我们新增的脚本配置到插件的菜单里面。 点击 插件Python ScriptConfiguration...

    在这里插入图片描述

    注意:这里如果不配置菜单,后面设置快捷键的时候是看不到我们的脚本的 。

  2. 在设置弹窗中,我们需要进行如下操作,将脚本添加到菜单中。

  1. 再次打开 Python Script 菜单,可以看到已经添加成功了。

    在这里插入图片描述

  2. 然后,我们需要将菜单设置为快捷键。 点击 设置管理快捷键

    在这里插入图片描述

  3. 切换到 插件命令 标签页,找到 jump_to_specified_tab.py 脚本,双击打开。

    在这里插入图片描述

  4. 我们可以设置 Ctrl + Shift + J 快捷键。

  1. 点击确定,可以看到快捷键设置成功。

    在这里插入图片描述

执行结果:

五、注意事项

  1. 标签页序号从1开始计数
  2. 脚本需要Python Script插件支持
  3. 如果修改了脚本,需要重新加载才能生效
  4. 在Notepad++ 7.9.2及以上版本测试通过

六、进阶使用

如需更复杂的功能,可以参考 Python Script官方文档
https://npppythonscript.sourceforge.net/docs/latest/notepad.html

在这里插入图片描述

这个脚本简单实用,能有效提升多标签编辑时的切换效率。通过自定义快捷键,可以像浏览器一样快速跳转到任意标签页。

创作不易,望各位大佬能点赞评论~🌻

相关文章:

Notepad++ 学习(三)使用python插件编写脚本:实现跳转指定标签页(自主研发)

目录 一、先看成果二、安装Python Script插件三、配置Python脚本四、使用脚本跳转标签页方法一&#xff1a;通过菜单运行方法二&#xff1a;设置快捷键&#xff08;推荐&#xff09; 五、注意事项六、进阶使用 官网地址&#xff1a; https://notepad-plus-plus.org/Python Scri…...

Stable Diffusion 学习笔记02

模型下载网站&#xff1a; 1&#xff0c;LiblibAI-哩布哩布AI - 中国领先的AI创作平台 2&#xff0c;Civitai: The Home of Open-Source Generative AI 模型的安装&#xff1a; 将下载的sd模型放置在sd1.5的文件内即可&#xff0c;重启客户端可用。 外挂VAE模型&#xff1a…...

python:pymysql概念、基本操作和注入问题讲解

python&#xff1a;pymysql分享目录 一、概念二、数据准备三、安装pymysql四、pymysql使用&#xff08;一&#xff09;使用步骤&#xff08;二&#xff09;查询操作&#xff08;三&#xff09;增&#xff08;四&#xff09;改&#xff08;五&#xff09;删 五、关于pymysql注入…...

Scala语言基础与函数式编程详解

Scala语言基础与函数式编程详解 本文系统梳理Scala语言基础、函数式编程核心、集合与迭代器、模式匹配、隐式机制、泛型与Spark实战&#xff0c;并对每个重要专业术语进行简明解释&#xff0c;配合实用记忆口诀与典型代码片段&#xff0c;助你高效学习和应用Scala。 目录 Scal…...

类的加载过程详解

类的加载过程详解 Java类的加载过程分为加载&#xff08;Loading&#xff09;、链接&#xff08;Linking&#xff09; 和 初始化&#xff08;Initialization&#xff09; 三个阶段。其中链接又分为验证&#xff08;Verification&#xff09;、准备&#xff08;Preparation&…...

机器学习-人与机器生数据的区分模型测试 - 模型融合与检验

模型融合 # 先用普通Pipeline训练 from sklearn.pipeline import Pipeline#from sklearn2pmml.pipeline import PMMLPipeline train_pipe Pipeline([(scaler, StandardScaler()),(ensemble, VotingClassifier(estimators[(rf, RandomForestClassifier(n_estimators200, max_de…...

机器学习 day03

文章目录 前言一、特征降维1.特征选择2.主成分分析&#xff08;PCA&#xff09; 二、KNN算法三、模型的保存与加载 前言 通过今天的学习&#xff0c;我掌握了机器学习中的特征降维的概念以及用法&#xff0c;KNN算法的基本原理及用法&#xff0c;模型的保存和加载 一、特征降维…...

《社交应用动态表情:RN与Flutter实战解码》

React Native依托于JavaScript和React&#xff0c;为动态表情的实现开辟了一条独特的道路。其核心优势在于对原生模块的便捷调用&#xff0c;这为动态表情的展示和交互提供了强大支持。在社交应用中&#xff0c;当用户点击发送动态表情时&#xff0c;React Native能够迅速调用相…...

嵌入式软件--stm32 DAY 6 USART串口通讯(下)

1.寄存器轮询_收发字符串 通过寄存器轮询方式实现了收发单个字节之后&#xff0c;我们趁热打铁&#xff0c;争上游&#xff0c;进阶到字符串。字符串就是多个字符。很明显可以循环收发单个字节实现。 然后就是接收字符串。如果接受单个字符的函数放在while里&#xff0c;它也可…...

问题处理——在ROS2(humble)+Gazebo+rqt下,无法显示仿真无人机的相机图像

文章目录 前言一、问题展示二、解决方法&#xff1a;1.下载对应版本的PX42.下载对应版本的Gazebo3.启动 总结 前言 在ROS2的环境下&#xff0c;进行无人机仿真的过程中&#xff0c;有时需要调取无人机的相机图像信息&#xff0c;但是使用rqt&#xff0c;却发现相机图像无法显示…...

69、微服务保姆教程(十二)容器化与云原生

容器化与云原生 在微服务架构中,容器化和云原生技术是将应用程序部署到生产环境的核心技术。通过容器化技术,可以将应用程序及其依赖项打包成一个容器镜像,确保在任何环境中都能一致运行。而云原生技术则通过自动化的容器编排系统(如 Kubernetes),实现应用的动态扩展、自…...

朱老师,3518e系列,第六季

第一节&#xff1a;概述。 首先是 将 他写好的 rtsp 源码上传&#xff0c;用于分析。 已经拷贝完。 第二节&#xff1a; h264 编码概念。 编解码 可以用cpu, 也可以用 bsp cpu 编解码的效果不好。做控制比较好。 h264 由 VCL&#xff0c; NAL 组成。 NAL 关心的是 压缩…...

ElasticSearch-集群

本篇文章依据ElasticSearch权威指南进行实操和记录 1&#xff0c;空集群 即不包含任何节点的集群 集群大多数分为两类&#xff0c;主节点和数据节点 主节点 职责&#xff1a;主节点负责管理集群的状态&#xff0c;例如分配分片、添加和删除节点、监控节点故障等。它们不直接…...

一文掌握工业相机选型计算

目录 一、基本概念 1.1 物方和像方 1.2 工作距离和视场 1.3 放大倍率 1.4 相机芯片尺寸 二、公式计算 三、实例应用 一、基本概念 1.1 物方和像方 在光学领域&#xff0c;物方&#xff08;Object Space&#xff09;是与像方&#xff08;Image Space&#xff09;相对的…...

记录心态和工作变化

忙中带闲的工作 其实工作挺忙的, 总是在赶各种功能点. 好巧的是iOS那边因为上架的问题耽搁了一些时间, 从而让Android的进度有了很大的调整空间. 更巧的是后端那边因为对客户端的需求不是很熟悉, 加上Android海外这块的业务他也是第一次接触. 所以需要给他留一些时间把各个环节…...

深入理解 TypeScript 中的 unknown 类型:安全处理未知数据的最佳实践

在 TypeScript 的类型体系中&#xff0c;unknown 是一个极具特色的类型。它与 any 看似相似&#xff0c;却在安全性上有着本质差异。本文将从设计理念、核心特性、使用场景及最佳实践等方面深入剖析 unknown&#xff0c;帮助开发者在处理动态数据时既能保持灵活性&#xff0c;又…...

LabVIEW机械振动信号分析与故障诊断

利用 LabVIEW 开发机械振动信号分析与故障诊断系统&#xff0c;融合小波变换、时频分布、高阶统计量&#xff08;双谱&#xff09;等先进信号处理技术&#xff0c;实现对齿轮、发动机等机械部件的非平稳非高斯振动信号的特征提取与故障诊断。系统通过虚拟仪器技术将理论算法转化…...

Helm配置之为特定Deployment配置特定Docker仓库(覆盖全局配置)

文章目录 Helm配置之为特定Deployment配置特定Docker仓库(覆盖全局配置)需求方法1:使用Helm覆盖值方法2: 在Lens中临时修改Deployment配置步骤 1: 创建 Docker Registry Secret步骤 2: 在 Deployment 中引用 Secret参考资料Helm配置之为特定Deployment配置特定Docker仓库(覆…...

【Spring】Spring中的适配器模式

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 欢迎评论交流&#xff0c;感谢您的阅读&#x1f604;。 目录 适配器模式Spring MVC的适配器模式 适配器模式 适配器模式&#xff08;Adapter Pattern&a…...

GO学习指南

GO学习指南 主题一 go语言基础知识讲解 go语言面向对象编程 go语言接口详解 go语言协程 主题二 web基础知识 后续内容请大家持续关注&#xff0c;每月一主题&#xff0c;让各位读者能零基础、零成本学习go语言...

2、ubuntu系统配置OpenSSH | 使用vscode或pycharm远程连接

1、OpenSSH介绍 OpenSSH&#xff08;Open Secure Shell&#xff09;是一套基于SSH协议的开源工具&#xff0c;用于在计算机网络中提供安全的加密通信。它被广泛用于远程系统管理、文件传输和网络服务的安全隧道搭建&#xff0c;是保护网络通信免受窃听和攻击的重要工具。 1.1…...

MySQL面试知识点详解

一、MySQL基础架构 1. MySQL逻辑架构 MySQL采用分层架构设计&#xff0c;主要分为&#xff1a; 连接层&#xff1a;处理客户端连接、授权认证等 服务层&#xff1a;包含查询解析、分析、优化、缓存等 引擎层&#xff1a;负责数据存储和提取&#xff08;InnoDB、MyISAM等&am…...

小白入门:GitHub 远程仓库使用全攻略

一、Git 核心概念 1. 三个工作区域 工作区&#xff08;Working Directory&#xff09;&#xff1a;实际编辑文件的地方。 暂存区&#xff08;Staging Area&#xff09;&#xff1a;准备提交的文件集合&#xff08;使用git add操作&#xff09;。 本地仓库&#xff08;Local…...

RPC与SOAP的区别

一.RPC&#xff08;远程过程调用&#xff09;和SOAP&#xff08;简单对象访问协议&#xff09;均用于实现分布式系统中的远程通信&#xff0c;但两者在设计理念、协议实现及应用场景上存在显著差异。 二.对比 1.设计理念 2.协议规范 3.技术特性 4.典型应用场景 5.总结 三.总结…...

Day11-苍穹外卖(数据统计篇)

前言&#xff1a; 今天写day11的内容&#xff0c;主要讲了四个统计接口的制作。看起来内容较多&#xff0c;其实代码逻辑都是相似的&#xff0c;这里我们过一遍。 今日所学&#xff1a; Apache ECharts营业额统计用户统计订单统计销量排行统计 1. Apache ECharts 1.1 介绍 A…...

Tomcat简述介绍

文章目录 Web服务器Tomcat的作用Tomcat分析目录结构 Web服务器 Web服务器的作用是接收客户端的请求&#xff0c;给客户端作出响应。 知名Java Web服务器 Tomcat&#xff08;Apache&#xff09;&#xff1a;用来开发学习使用&#xff1b;免费&#xff0c;开源JBoss&#xff0…...

《从零开始:Spring Cloud Eureka 配置与服务注册全流程》​

关于Eureka的学习&#xff0c;主要学习如何搭建Eureka&#xff0c;将order-service和product-service都注册到Eureka。 1.为什么使用Eureka? 我在实现一个查询订单功能时&#xff0c;希望可以根据订单中productId去获取对应商品的详细信息&#xff0c;但是产品服务和订单服…...

如何保证RabbitMQ消息的顺序性?

保证RabbitMQ消息的顺序性是一个常见的需求&#xff0c;尤其是在处理需要严格顺序的消息时。然而&#xff0c;默认情况下&#xff0c;RabbitMQ不保证消息的全局顺序&#xff0c;因为消息可能会通过不同的路径&#xff08;例如不同的网络连接或线程&#xff09;到达队列&#xf…...

FPGA学习知识(汇总)

1. wire与reg理解&#xff0c;阻塞与非阻塞 2. 时序取值&#xff0c;时钟触发沿向左看 3. ip核/setup debug 添加 ila 一、ila使用小技巧 二、同步复位、异步复位和异步复位同步释放 设计复位设计&#xff0c;尽量使用 异步复位同步释放&#xff1b;尽管该方法仍然对毛刺敏感…...

c语言 写一个五子棋

c语言 IsWin判赢 display 画 10 x 10 的棋盘 判断落子的坐标是否已有棋子 判断落子坐标范围是否超出范围 // 五子棋 #include <stdio.h> #include <stdlib.h>// 画棋盘 10 x 10的棋盘&#xff0c;len为行数 void display(char map[][10], int len) {system(&q…...