2401vim,vim标号

这篇具有很好参考价值的文章主要介绍了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})

示例:文章来源地址https://www.toymoban.com/news/detail-810842.html

 "从`a.vim`缓冲中删除`id`为`10`的标号并用`b.vim`中的`20`标号来标号"
call sign_unplacelist([
    \ {'id' : 10, 'buffer' : "a.vim"},
    \ {'id' : 20, 'buffer' : 'b.vim'},
    \ ])

到了这里,关于2401vim,vim标号的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vim编辑器用法详解

    Vim(Vi IMproved)是一个功能强大的文本编辑器,是Vi(Visual Editor)的一个增强版本。它以其高度可定制性、强大的编辑功能和广泛的插件支持而闻名。这里介绍一下Vim编辑器的那些使用技巧,熟练使用这些技巧可以大大提升在Linux品台下文本编辑的效率。 Linux 下安装 Windows下安装包

    2024年02月12日
    浏览(50)
  • vim编辑器使用教程

    vim 是 Linux 系统内置的「文本编辑器」,用于查看或编辑文件的内容,学会使用 vim 编辑器,将在 Linux 终端中畅通无阻。 vim 编辑器中最重要的三种模式:命令模式、文本模式、末行模式,每种模式分别支持 多种不同的命令快捷键,可大大提高工作效率。这三种模式的操作区

    2024年02月16日
    浏览(49)
  • Linux编辑器---vim

    目录                 1、vim的基本概念         2正常/普通/命令模式(Normal mode)         2、1命令模式下一些命令(不用进入插入模式)         3插入模式(Insert mode)         4末行/底行模式(last line mode)         4、1底行模式下的一些命令         5、普通用户无法进行

    2024年01月20日
    浏览(66)
  • Linux编辑器vim

    目录 一、vim的几种模式 1、命令模式 2、编辑/插入模式 3、底行模式 ①增加行号 ②分屏操作 ③不退出vim执行命令 4、替换模式 二、vim的常见命令 1、yy命令 2、p命令 3、dd命令 4、u命令 5、Ctrl + r命令 6、shirt+g命令 7、gg命令 8、shirt+6命令 9、shirt+4命令 10、w,b命令 11、h,j,k,

    2024年02月09日
    浏览(84)
  • 15 文本编辑器vim

            如果file.txt就是修改这个文件,如果不存在就是新建一个文件。          使用vim建完文件后,会自动进入文件中。          底部要是显示插入,是编辑模式;         按esc,底部要是空白的,则是进入命令模式,可以输入一些快捷键进行操作,比如说

    2024年02月15日
    浏览(53)
  • Linux Vim文本编辑器-Vim常用命令

    距离上次Linux的学习,今天又是一个崭新的起点,我们用五天的时间学了一些Linux一些常用的操作命令,但掌握这些还是远远不够的,这个世界就是这样,将生于此,既是幸运也是不幸,只有不断地学习才能有自己的一席之地,话不多说,开始我们今天的Linux学习之旅。 目录

    2024年02月06日
    浏览(59)
  • Linux编辑器vim(含vim的配置)

    本篇文章,小编将介绍Linux编辑器–vim以及vim的配置。 正常/普通/命令模式(Normal mode) 控制屏幕光标的 移动,字符、字或行的删除 ,移动复制某区段及进入 Insert mode 下,或者到 last line mode 插入模式(Insert mode) -只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行

    2024年01月25日
    浏览(55)
  • Linux编辑器 - vim使用

    Vim是一个广泛使用的文本编辑器,它是在Unix和Linux系统中常用的命令行文本编辑器之一。 vim的主要三种模式 ( 其实有好多模式,目前掌握这 3 种即可 ), 分别是 命令模式 ( command mode )、 插入模式 (Insert mode )和 底行模式 ( last line mode ),需要掌握每种模式的用法和差别

    2024年02月14日
    浏览(59)
  • vim文本编辑器,常用命令

    目录 1、常用模式 2、基本移动光标 3、插入和替换文本 4、删除和复制文本 5、搜索和替换 6、保存和退出 Vim是一款功能强大的文本编辑器,在Linux系统中被广泛使用。它提供了丰富的编辑和操作功能,适用于编程、文件编辑、配置文件修改等各种任务。 下面是对Vim常用场景详

    2024年01月16日
    浏览(52)
  • linux代码编辑器——vim

    一款编辑器,只负责写代码 当我们 使用 vim +文件名 进入文件中时, 发现一些按键 按了没有反应 这是因为vim是一个多模式的编辑器, 默认在命令模式下,按键都被当做命令了 1.命令模式转换到插入模式 1. a 输入a后,光标会向后移一位 2. i 使用i从命令模式转换到插入模式,

    2024年01月20日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包