2401vim,vim标号
标号简介
提供高亮,快速告诉用户有用信息.如,调试器在左侧列中有个表示断点的图标.
另一例可能是表示(PC)程序计数器的箭头.标号功能允许在窗口左侧放置标号或图标,并定义应用行的高亮.
此外,调试器还支持8到10种不同的标号和高亮颜色,见|NetBeans|.
使用标号有两个步骤:
1.定义标号.来指定图像,文本和高亮.如,可用停车图像和"!!"文本定义"断点"标号.
2.放置标号.指定了显示标号的文件和行号.可在不同的行和文件中多次放置定义的标号.
标号列
为文件定义标号时,Vim会自动添加一列两个符来显示它们.当移除掉最后标号后,该列再次消失.可用"signcolumn"选项更改此行为.
可使用SignColumn的|hl-SignColumn|设置列颜色高亮组.设置颜色的示例:
:highlight SignColumn guibg=darkgrey
标号标识
每个放置的标号都由用来跳转到标号或删除标号的标号标识数字来标识.在使用|:sign-place|命令或|sign_place()|函数时赋值的标识.
每个标号标识都应该是个唯一数字.如果多个放置的标号,使用相同标识,则不可预测跳转到或删除的标号.为避免标识重叠,可用标号组.
可用零号标识调用|sign_place()|函数来分配下个可用标识.
标号组
每个放置的标号都可赋值给全局组或命名组.
放置标号时,如果未提供组名,或使用空串,则该标号放置在全局组中.否则,在命名组中放置该标号.在组中标号标识是唯一的.
标号组允许Vim插件使用唯一标号,而不会干扰其他使用标号的插件.
要在弹窗中放置标号,组名必须以"PopUp"开头.
在弹窗中不会显示其他标号.由设置了"cursorline"的弹窗使用"PopUpMenu"组名.
标号优先
每个放置的标号都赋值了一个优先级值.在同一行上放置多个标号时,独立标号组使用优先级最高属性的标号.标号的默认优先级为10.在放置标号时赋值优先级.
如果有两个相同优先级的标号,且一个在标号栏中有一个图标或文本,而另一个标号有行高亮,则两者都会显示.
删除放置标号的行时,把标号移动到下一行(如果没有下一行,则移动到缓冲的最后一行).撤消删除操作后,不会移回该标号.
同时有带行高亮和"光标行"高亮的标号时,如果优先级为100或更高,则标号高亮优先,否则为"光标行"高亮.
以下示例,在当前文件的第23行放置了一个与">>"文本一起显示的"piet"标号:
:sign define piet text=>> texthl=Search
:exe ":sign place 2 line=23 name=piet file=" . expand("%:p")
这是再次删除它的命令:
:sign unplace 2
注意,":sign"命令后面不能有另一个命令或注释.如果确实需要,请使用|:execute|命令.
定义标号
见|sign_define()|,等效的Vim脚本函数.
:sign define {name} {argument}...
为现有标号定义新标号或设置属性,示例:
:sign define MySign text=>> texthl=Search linehl=DiffText
删除标号
:sign undefine MySign
列举标号
见|sign_getdefined()|,等效的Vim脚本函数.
:sign list列举所有已定义的标号及其属性.
:sign list {name}
列举已定义的标号及其属性.
放置标号
见|sign_place()|,等效的Vim脚本函数.
:sign place {id} line={lnum} name={name} file={fname}
在{fname}文件的{lnum}行,放置定义叫{name}的标号.
该标号叫{id},可用来进一步操作.{id}必须是个数字.
可在"file="之前指定以下可选的标号属性:
组与优先级.
默认,在全局组中放置标号.
默认,优先级为10.示例:
:sign place 5 line=3 name=sign1 file=a.py
:sign place 6 group=g2 line=2 name=sign2 file=x.py
:sign place 9 group=g2 priority=50 line=5\ name=sign1 file=a.py
加上缓冲号:
:sign place {id} line={lnum} name={name} [buffer={nr}]
相同,但使用缓冲{nr}.如果未给定buffer参数,
在当前缓冲中放置标号.
示例:
:sign place 10 line=99 name=sign3
:sign place 10 line=99 name=sign3 buffer=3
:sign place {id} name={name} file={fname}
更改{fname}文件中,放置的{id}标号以使用定义的{name}标号.见上面{fname}|:sign-fname|.
可在不移动时更改显示的标号
它(如,当调试器在断点处停止时).
示例:
:sign place 23 name=sign1 file=/path/to/edit.py
:sign place {id} name={name} [buffer={nr}]
相同,但使用{nr}缓冲.
示例:
:sign place 23 name=sign1
:sign place 23 name=sign1 buffer=7
见|sign_unplace()|来等效的Vim脚本函数.
:sign unplace {id} file={fname}
:sign unplace {id} group={group} file={fname}
:sign unplace {id} group=* file={fname}
:sign unplace * file={fname}
:sign unplace * group={group} file={fname}
:sign unplace * group=* file={fname}
:sign unplace {id} buffer={nr}
:sign unplace {id} group={group} buffer={nr}
:sign unplace {id} group=* buffer={nr}
:sign unplace * buffer={nr}
:sign unplace * group={group} buffer={nr}
:sign unplace * group=* buffer={nr}
:sign unplace {id}
:sign unplace {id} group={group}
:sign unplace {id} group=*
:sign unplace *
:sign unplace * group={group}
:sign unplace * group=*
:sign unplace group={group}
:sign unplace
:sign unplace group=*
删除标号们.
列举标号
:sign place group={group} file={fname}
:sign place file={fname}
:sign place group=* file={fname}
:sign place buffer={nr}
:sign place group={group} buffer={nr}
:sign place group=* buffer={nr}
:sign place
:sign place group={group}
:sign place group=*
跳至标号
见|sign_jump()|来等效的Vim脚本函数.
:sign jump {id} file={fname}
:sign jump {id} group={group} file={fname}
:sign jump {id} [buffer={nr}]
:sign jump {id} group={group} [buffer={nr}]
定义函数
sign_define({name} [, {dict}])
sign_define({list})
定义叫{name}的新标号或修改
现有标号.类似|:sign-define|命令.
call sign_define("mySign", {\ "text" : "=>",\ "texthl" : "Error",\ "linehl" : "Search"})
call sign_define([\ {'name' : 'sign1',\ 'text' : '=>'},\ {'name' : 'sign2',\ 'text' : '!!'}\ ])
sign_getdefined([{name}])
类似|:sign-list|命令,取已定义标号及其属性的列表.
示例:取所有已定义标号的列表:
取名为mySign的标号的属性:
echo sign_getdefined()
echo sign_getdefined("mySign")
sign_getplaced([{expr} [, {dict}]])
类似|:sign-place-list|命令,返回放置在缓冲或所有缓冲中的标号列表.
如果指定了可选的{expr}缓冲名,则仅返回放置在该缓冲中的标号列表.
示例:>"取放置在eval.c中的标号列表"全局组echosign_getplaced("eval.c")
"在eval.c中的所有"
echo sign_getplaced("eval.c")
"在eval.c中的'g1'组"
echo sign_getplaced("eval.c", {'group' : 'g1'})
"文件中的第10行"
echo sign_getplaced("eval.c", {'lnum' : 10})"a.py中的id为10的那个"
echo sign_getplaced("a.py", {'id' : 10})
echo sign_getplaced("a.py", {'group' : 'g1',
\ 'id' : 20})
echo sign_getplaced()
sign_jump({id}, {group}, {expr})
打开{expr}缓冲,或跳转到包含{expr},并在{group}组中的{id}标号处定位光标.
类似|:sign-jump|命令.
示例:
跳转到当前缓冲中的10标号.
call sign_jump(10, '', '')
sign_place({id}, {group}, {name}, {expr} [, {dict}])
buffer{expr}并分配{id}和{group}给sign.这是
类似|:sign-place|命令.
示例:
call sign_place(5, '', 'sign1', 'json.c',
\ {'lnum' : 20})
call sign_place(5, '', 'sign2', 'json.c')
let id = sign_place(0, '', 'sign3', 'json.c',
\ {'lnum' : 30})
call sign_place(10, 'g3', 'sign4', 'json.c',
\ {'lnum' : 40, 'priority' : 90})
sign_placelist({list})
放置多个标号.类似|sign_place()|函数.
let [n1, n2] = sign_placelist([\ {'id' : 5,\ 'name' : 's1',\ 'buffer' : 'a.c',\ 'lnum' : 20},\ {'id' : 10,\ 'name' : 's1',\ 'buffer' : 'a.c',\ 'lnum' : 30}\ ])let [n1, n2] = sign_placelist([\ {'name' : 's1',\ 'buffer' : 'a.c',\ 'lnum' : 40},\ {'name' : 's1',\ 'buffer' : 'a.c',\ 'lnum' : 50}\ ])
sign_undefine([{name}])
sign_undefine({list})
示例:
call sign_undefine("mySign")
"删除名为`mySign`的标号"
call sign_undefine(["sign1", "sign2"])
"删除`"sign1"`和`"sign2"`"标号
call sign_undefine()
"删除所有标号"
sign_unplace({group} [, {dict}])
删除多个缓冲中先前放置的标号.类似|:sign-unplace|命令.
示例:
call sign_unplace('', {'buffer' : "a.vim", 'id' : 10})
"从`a.vim`缓冲中删除`10`标号"
call sign_unplace('g1', {'buffer' : 3, 'id' : 20})
"从`20`缓冲中删除`"g1"`组中的3标号"
call sign_unplace('g2', {'buffer' : 10})
"从`10`缓冲中删除`"g2"`组中的所有标号"
call sign_unplace('g3', {'id' : 30})
"从所有缓冲中删除`"g3"`组中的`30`标号"
call sign_unplace('*', {'buffer' : 5})
"删除5缓冲中的所有标号"
call sign_unplace('g4')
"从所有缓冲中删除`"g4"`组中的标号"
call sign_unplace('*', {'id' : 40})
"从所有缓冲中删除`40`标号"
call sign_unplace('*')
"从所有缓冲中删除所有放置的标号"
sign_unplacelist({list})
示例:
"从`a.vim`缓冲中删除`id`为`10`的标号并用`b.vim`中的`20`标号来标号"
call sign_unplacelist([\ {'id' : 10, 'buffer' : "a.vim"},\ {'id' : 20, 'buffer' : 'b.vim'},\ ])相关文章:
2401vim,vim标号
标号简介 提供高亮,快速告诉用户有用信息.如,调试器在左侧列中有个表示断点的图标. 另一例可能是表示(PC)程序计数器的箭头.标号功能允许在窗口左侧放置标号或图标,并定义应用行的高亮. 此外,调试器还支持8到10种不同的标号和高亮颜色,见|NetBeans|. 使用标号有两个步骤: 1…...
Web开发中HTTP请求、响应等相关知识
目录 params和data区别? post请求可以使用params吗? put、delete请求应该使用params还是data? get和post的区别? 常用注解使用 params和data区别? 在使用Ajax时,"params" 和 "data" 通常用于不同的上下文。 "params…...
[Android] Android文件系统中存储的内容有哪些?
文章目录 前言root 文件系统/system 分区稳定性:安全性: /system/bin用来提供服务的二进制可执行文件:调试工具:UNIX 命令:调用 Dalvik 的脚本(upall script):/system/bin中封装的app_process脚本 厂商定制的二进制可执行文件: /system/xbin/system/lib[64]/system/…...
透明拼接屏在汽车领域的应用
随着科技的进步,透明拼接屏作为一种新型的显示技术,在汽车领域的应用越来越广泛。尼伽小编将围绕透明拼接屏在汽车本身、4S店、展会、工厂等方面的应用进行深入探讨,并展望未来的设计方向。 一、透明拼接屏在汽车本身的应用 车窗显示&#x…...
“深入理解RabbitMQ交换机的原理与应用“
深入理解RabbitMQ交换机的原理与应用 引言1. RabbitMQ交换机简介介绍1.1 什么是RabbitMQ?1.1.1 消息中间件的作用1.1.2 RabbitMQ的特点和优势 1.2 RabbitMQ的基本概念1.2.1 队列1.2.2 交换机1.2.3 路由键 1.3 交换机的作用和分类1.3.1 直连交换机(direct…...
Programming Abstractions in C阅读笔记:p248-p253
《Programming Abstractions in C》学习第69天,p248-p253总结,总计6页。 一、技术总结 “A generalized program for two-player games”如标题所示,该小节强调要学会从一个复杂的程序中抽象出通用的内容——这也是本书的主旨——“Program…...
面试题目,你对前端工程化的了解
前端工程化是通过工具和流程来提高软件开发效率、降低维护成本以及改善项目可维护性的方法。在前端领域,前端工程化通常包括以下方面内容 版本控制 使用 git 来管理代码的版本,追踪变更,协作开发等项目脚手架 使用项目的脚手架进行项目的初始…...
2023年春秋杯网络安全联赛冬季赛 Writeup
文章目录 Webezezez_phppicup Misc谁偷吃了外卖modules明文混淆 Pwnnmanagerbook Reupx2023 CryptoCF is Crypto Faker 挑战题勒索流量Ezdede 可信计算 Web ezezez_php 反序列化打redis主从复制RCE:https://www.cnblogs.com/xiaozi/p/13089906.html <?php c…...
docker安装Rabbitmq教程(详细图文)
目录 1.下载Rabbitmq的镜像 2.创建并运行rabbitmq容器 3.启动web客户端 4.访问rabbitmq的微博客户端 5.遇到的问题 问题描述:在rabbitmq的web客户端发现界面会弹出如下提示框Stats in management UI are disabled on this node 解决方法 (1&#…...
java web mvc-05-JSF JavaServer Faces 入门例子
拓展阅读 Spring Web MVC-00-重学 mvc mvc-01-Model-View-Controller 概览 web mvc-03-JFinal web mvc-04-Apache Wicket web mvc-05-JSF JavaServer Faces web mvc-06-play framework intro web mvc-07-Vaadin web mvc-08-Grails 开源 The jdbc pool for java.(java …...
yolov8 训练voc数据集
yolov8训练 from ultralytics import YOLO# 加载模型 # model YOLO(yolov8n.yaml) # 从YAML构建新模型 # model YOLO(yolov8n.pt) # 加载预训练模型(推荐用于训练) model YOLO(yolov8n.yaml).load(yolov8n.pt) # 从YAML构建并转移权重# 训练模型…...
Python笔记12-多线程、网络编程、正则表达式
文章目录 多线程网络编程正则表达式 多线程 现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。 进程: 就是一个程序,运行在系统之上,那么便称之这个程序为一个运…...
X射线中关于高频高压发生器、高清晰平板探测器、大热容量X射线球管、远程遥控系统的解释
高频高压发生器(High Frequency High Voltage Generator) 在医用诊断X射线设备中扮演着关键角色,它主要用于产生并控制用于X射线成像的高压电能。 这种发生器采用高频逆变技术,通过将输入的低电压、大电流转换为高电压、小电流&am…...
【算法】最短路计数(搜索)复习
题目 给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1 到 N。 问从顶点 1 开始,到其他每个点的最短路有几条。 输入格式 第一行包含 2 个正整数 N,M,为图的顶点数与边数。 接下来 M 行,每行两个正整数 x,y,表…...
html火焰文字特效
下面是代码: <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>HTML5火焰文字特效DEMO演示</title><link rel"stylesheet" href"css/style.css" media"screen" type&quo…...
Redis双写一致性
所有的情况都是再并发情况下存在温蒂 一、先更新数据库,再更新缓存场景-不推荐 当有两个线程A、B,同时对一条数据进行操作,一开始数据库和redis的数据都为1,当线程A去修改数据库,将1改为2,然后线程A在修改…...
html+css+javascript实现贪吃蛇游戏
文章目录 一、贪吃蛇游戏二、JavaScript三、HTML四、CSS五、热门文章 一、贪吃蛇游戏 这是一个简单的用HTML、CSS和JavaScript实现的贪吃蛇游戏示例。 HTML部分: <!DOCTYPE html> <html> <head><title>贪吃蛇游戏</title><styl…...
【K8S】Kubernetes 中滚动发布由浅入深实战
目录 一、Kubernetes中滚动发布的需求背景1.1 滚动发布1.2 滚动发布、蓝绿发布、金丝雀发布的区别 二、Kubernetes中实现滚动发布2.1 定义Kubernetes中的版本2.2 创建 Deployment 资源对象2.2.1 在 Yaml 中定义 Deployment 资源对象2.2.2 执行命令创建 Deployment 资源对象 三、…...
MSP430仿真器使用常见问题
一、 主要是驱动安装问题 有用户反应驱动安装不上,按照用户手册操作一直不能安装成功。 可以尝试如下步骤进行安装。 1. 双击设备管理器中无法安装或者提示有错误的430仿真器设备 选择驱动程序——更新驱动程序 选择手动安装 选择从电脑设备驱动列表中安装 弹出下…...
芯驰E3340软件编译以及更新步骤
打开已有工程File->Open Solution: 东南项目:e3340\boards\e3_324_ref_display\proj\jetour-t1n-fl3\sf\SES 编译:build->build sf 增加头文件和宏定义: 编译完成sf后,进行编译bootloader 东南项目:e3340\boa…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
