1*sign.txt* For Vim version 8.2. Last change: 2021 Mar 07 2 3 4 VIM REFERENCE MANUAL by Gordon Prieur 5 and Bram Moolenaar 6 7 8Sign Support Features *sign-support* 9 101. Introduction |sign-intro| 112. Commands |sign-commands| 123. Functions |sign-functions-details| 13 14{only available when compiled with the |+signs| feature} 15 16============================================================================== 171. Introduction *sign-intro* *signs* 18 19When a debugger or other IDE tool is driving an editor it needs to be able 20to give specific highlights which quickly tell the user useful information 21about the file. One example of this would be a debugger which had an icon 22in the left-hand column denoting a breakpoint. Another example might be an 23arrow representing the Program Counter (PC). The sign features allow both 24placement of a sign, or icon, in the left-hand side of the window and 25definition of a highlight which will be applied to that line. Displaying the 26sign as an image is most likely only feasible in gvim (although Sun 27Microsystem's dtterm does support this it's the only terminal emulator I know 28of which does). A text sign and the highlight should be feasible in any color 29terminal emulator. 30 31Signs and highlights are not useful just for debuggers. Sun's Visual 32WorkShop uses signs and highlights to mark build errors and SourceBrowser 33hits. Additionally, the debugger supports 8 to 10 different signs and 34highlight colors, see |NetBeans|. 35 36There are two steps in using signs: 37 381. Define the sign. This specifies the image, text and highlighting. For 39 example, you can define a "break" sign with an image of a stop roadsign and 40 text "!!". 41 422. Place the sign. This specifies the file and line number where the sign is 43 displayed. A defined sign can be placed several times in different lines 44 and files. 45 46 *sign-column* 47When signs are defined for a file, Vim will automatically add a column of two 48characters to display them in. When the last sign is unplaced the column 49disappears again. This behavior can be changed with the 'signcolumn' option. 50 51The color of the column is set with the SignColumn highlight group 52|hl-SignColumn|. Example to set the color: > 53 54 :highlight SignColumn guibg=darkgrey 55< 56 *sign-identifier* 57Each placed sign is identified by a number called the sign identifier. This 58identifier is used to jump to the sign or to remove the sign. The identifier 59is assigned when placing the sign using the |:sign-place| command or the 60|sign_place()| function. Each sign identifier should be a unique number. If 61multiple placed signs use the same identifier, then jumping to or removing a 62sign becomes unpredictable. To avoid overlapping identifiers, sign groups can 63be used. The |sign_place()| function can be called with a zero sign identifier 64to allocate the next available identifier. 65 66 *sign-group* 67Each placed sign can be assigned to either the global group or a named group. 68When placing a sign, if a group name is not supplied, or an empty string is 69used, then the sign is placed in the global group. Otherwise the sign is 70placed in the named group. The sign identifier is unique within a group. The 71sign group allows Vim plugins to use unique signs without interfering with 72other plugins using signs. 73 74To place a sign in a popup window the group name must start with "PopUp". 75Other signs will not show in a popup window. The group name "PopUpMenu" is 76used by popup windows where 'cursorline' is set. 77 78 *sign-priority* 79Each placed sign is assigned a priority value. When multiple signs are placed 80on the same line, the attributes of the sign with the highest priority is used 81independently of the sign group. The default priority for a sign is 10. The 82priority is assigned at the time of placing a sign. 83 84When two signs with the same priority are present, and one has an icon or text 85in the signcolumn while the other has line highlighting, then both are 86displayed. 87 88When the line on which the sign is placed is deleted, the sign is moved to the 89next line (or the last line of the buffer, if there is no next line). When 90the delete is undone the sign does not move back. 91 92When a sign with line highlighting and 'cursorline' highlighting are both 93present, if the priority is 100 or more then the sign highlighting takes 94precedence, otherwise the 'cursorline' highlighting. 95 96============================================================================== 972. Commands *sign-commands* *:sig* *:sign* 98 99Here is an example that places a sign "piet", displayed with the text ">>", in 100line 23 of the current file: > 101 :sign define piet text=>> texthl=Search 102 :exe ":sign place 2 line=23 name=piet file=" . expand("%:p") 103 104And here is the command to delete it again: > 105 :sign unplace 2 106 107Note that the ":sign" command cannot be followed by another command or a 108comment. If you do need that, use the |:execute| command. 109 110 111DEFINING A SIGN. *:sign-define* *E255* *E160* *E612* 112 113See |sign_define()| for the equivalent Vim script function. 114 115:sign define {name} {argument}... 116 Define a new sign or set attributes for an existing sign. 117 The {name} can either be a number (all digits) or a name 118 starting with a non-digit. Leading zeros are ignored, thus 119 "0012", "012" and "12" are considered the same name. 120 About 120 different signs can be defined. 121 122 Accepted arguments: 123 124 icon={bitmap} 125 Define the file name where the bitmap can be found. Should be 126 a full path. The bitmap should fit in the place of two 127 characters. This is not checked. If the bitmap is too big it 128 will cause redraw problems. Only GTK 2 can scale the bitmap 129 to fit the space available. 130 toolkit supports ~ 131 GTK 1 pixmap (.xpm) 132 GTK 2 many 133 Motif pixmap (.xpm) 134 Win32 .bmp, .ico, .cur 135 pixmap (.xpm) |+xpm_w32| 136 137 linehl={group} 138 Highlighting group used for the whole line the sign is placed 139 in. Most useful is defining a background color. 140 141 text={text} *E239* 142 Define the text that is displayed when there is no icon or the 143 GUI is not being used. Only printable characters are allowed 144 and they must occupy one or two display cells. 145 146 texthl={group} 147 Highlighting group used for the text item. 148 149 Example: > 150 :sign define MySign text=>> texthl=Search linehl=DiffText 151< 152 153DELETING A SIGN *:sign-undefine* *E155* 154 155See |sign_undefine()| for the equivalent Vim script function. 156 157:sign undefine {name} 158 Deletes a previously defined sign. If signs with this {name} 159 are still placed this will cause trouble. 160 161 Example: > 162 :sign undefine MySign 163< 164 165LISTING SIGNS *:sign-list* *E156* 166 167See |sign_getdefined()| for the equivalent Vim script function. 168 169:sign list Lists all defined signs and their attributes. 170 171:sign list {name} 172 Lists one defined sign and its attributes. 173 174 175PLACING SIGNS *:sign-place* *E158* 176 177See |sign_place()| for the equivalent Vim script function. 178 179:sign place {id} line={lnum} name={name} file={fname} 180 Place sign defined as {name} at line {lnum} in file {fname}. 181 *:sign-fname* 182 The file {fname} must already be loaded in a buffer. The 183 exact file name must be used, wildcards, $ENV and ~ are not 184 expanded, white space must not be escaped. Trailing white 185 space is ignored. 186 187 The sign is remembered under {id}, this can be used for 188 further manipulation. {id} must be a number. 189 It's up to the user to make sure the {id} is used only once in 190 each file (if it's used several times unplacing will also have 191 to be done several times and making changes may not work as 192 expected). 193 194 The following optional sign attributes can be specified before 195 "file=": 196 group={group} Place sign in sign group {group} 197 priority={prio} Assign priority {prio} to sign 198 199 By default, the sign is placed in the global sign group. 200 201 By default, the sign is assigned a default priority of 10. To 202 assign a different priority value, use "priority={prio}" to 203 specify a value. The priority is used to determine the sign 204 that is displayed when multiple signs are placed on the same 205 line. 206 207 Examples: > 208 :sign place 5 line=3 name=sign1 file=a.py 209 :sign place 6 group=g2 line=2 name=sign2 file=x.py 210 :sign place 9 group=g2 priority=50 line=5 211 \ name=sign1 file=a.py 212< 213:sign place {id} line={lnum} name={name} [buffer={nr}] 214 Same, but use buffer {nr}. If the buffer argument is not 215 given, place the sign in the current buffer. 216 217 Example: > 218 :sign place 10 line=99 name=sign3 219 :sign place 10 line=99 name=sign3 buffer=3 220< 221 *E885* 222:sign place {id} name={name} file={fname} 223 Change the placed sign {id} in file {fname} to use the defined 224 sign {name}. See remark above about {fname} |:sign-fname|. 225 This can be used to change the displayed sign without moving 226 it (e.g., when the debugger has stopped at a breakpoint). 227 228 The optional "group={group}" attribute can be used before 229 "file=" to select a sign in a particular group. The optional 230 "priority={prio}" attribute can be used to change the priority 231 of an existing sign. 232 233 Example: > 234 :sign place 23 name=sign1 file=/path/to/edit.py 235< 236:sign place {id} name={name} [buffer={nr}] 237 Same, but use buffer {nr}. If the buffer argument is not 238 given, use the current buffer. 239 240 Example: > 241 :sign place 23 name=sign1 242 :sign place 23 name=sign1 buffer=7 243< 244 245REMOVING SIGNS *:sign-unplace* *E159* 246 247See |sign_unplace()| for the equivalent Vim script function. 248 249:sign unplace {id} file={fname} 250 Remove the previously placed sign {id} from file {fname}. 251 See remark above about {fname} |:sign-fname|. 252 253:sign unplace {id} group={group} file={fname} 254 Same but remove the sign {id} in sign group {group}. 255 256:sign unplace {id} group=* file={fname} 257 Same but remove the sign {id} from all the sign groups. 258 259:sign unplace * file={fname} 260 Remove all placed signs in file {fname}. 261 262:sign unplace * group={group} file={fname} 263 Remove all placed signs in group {group} from file {fname}. 264 265:sign unplace * group=* file={fname} 266 Remove all placed signs in all the groups from file {fname}. 267 268:sign unplace {id} buffer={nr} 269 Remove the previously placed sign {id} from buffer {nr}. 270 271:sign unplace {id} group={group} buffer={nr} 272 Remove the previously placed sign {id} in group {group} from 273 buffer {nr}. 274 275:sign unplace {id} group=* buffer={nr} 276 Remove the previously placed sign {id} in all the groups from 277 buffer {nr}. 278 279:sign unplace * buffer={nr} 280 Remove all placed signs in buffer {nr}. 281 282:sign unplace * group={group} buffer={nr} 283 Remove all placed signs in group {group} from buffer {nr}. 284 285:sign unplace * group=* buffer={nr} 286 Remove all placed signs in all the groups from buffer {nr}. 287 288:sign unplace {id} 289 Remove the previously placed sign {id} from all files it 290 appears in. 291 292:sign unplace {id} group={group} 293 Remove the previously placed sign {id} in group {group} from 294 all files it appears in. 295 296:sign unplace {id} group=* 297 Remove the previously placed sign {id} in all the groups from 298 all the files it appears in. 299 300:sign unplace * 301 Remove all placed signs in the global group from all the files. 302 303:sign unplace * group={group} 304 Remove all placed signs in group {group} from all the files. 305 306:sign unplace * group=* 307 Remove all placed signs in all the groups from all the files. 308 309:sign unplace 310 Remove a placed sign at the cursor position. If multiple signs 311 are placed in the line, then only one is removed. 312 313:sign unplace group={group} 314 Remove a placed sign in group {group} at the cursor 315 position. 316 317:sign unplace group=* 318 Remove a placed sign in any group at the cursor position. 319 320 321LISTING PLACED SIGNS *:sign-place-list* 322 323See |sign_getplaced()| for the equivalent Vim script function. 324 325:sign place file={fname} 326 List signs placed in file {fname}. 327 See remark above about {fname} |:sign-fname|. 328 329:sign place group={group} file={fname} 330 List signs in group {group} placed in file {fname}. 331 332:sign place group=* file={fname} 333 List signs in all the groups placed in file {fname}. 334 335:sign place buffer={nr} 336 List signs placed in buffer {nr}. 337 338:sign place group={group} buffer={nr} 339 List signs in group {group} placed in buffer {nr}. 340 341:sign place group=* buffer={nr} 342 List signs in all the groups placed in buffer {nr}. 343 344:sign place List placed signs in the global group in all files. 345 346:sign place group={group} 347 List placed signs with sign group {group} in all files. 348 349:sign place group=* 350 List placed signs in all sign groups in all files. 351 352 353JUMPING TO A SIGN *:sign-jump* *E157* 354 355See |sign_jump()| for the equivalent Vim script function. 356 357:sign jump {id} file={fname} 358 Open the file {fname} or jump to the window that contains 359 {fname} and position the cursor at sign {id}. 360 See remark above about {fname} |:sign-fname|. 361 If the file isn't displayed in window and the current file can 362 not be |abandon|ed this fails. 363 364:sign jump {id} group={group} file={fname} 365 Same but jump to the sign in group {group} 366 367:sign jump {id} [buffer={nr}] *E934* 368 Same, but use buffer {nr}. This fails if buffer {nr} does not 369 have a name. If the buffer argument is not given, use the 370 current buffer. 371 372:sign jump {id} group={group} [buffer={nr}] 373 Same but jump to the sign in group {group} 374 375 376============================================================================== 3773. Functions *sign-functions-details* 378 379sign_define({name} [, {dict}]) *sign_define()* 380sign_define({list}) 381 Define a new sign named {name} or modify the attributes of an 382 existing sign. This is similar to the |:sign-define| command. 383 384 Prefix {name} with a unique text to avoid name collisions. 385 There is no {group} like with placing signs. 386 387 The {name} can be a String or a Number. The optional {dict} 388 argument specifies the sign attributes. The following values 389 are supported: 390 icon full path to the bitmap file for the sign. 391 linehl highlight group used for the whole line the 392 sign is placed in. 393 text text that is displayed when there is no icon 394 or the GUI is not being used. 395 texthl highlight group used for the text item 396 397 If the sign named {name} already exists, then the attributes 398 of the sign are updated. 399 400 The one argument {list} can be used to define a list of signs. 401 Each list item is a dictionary with the above items in {dict} 402 and a "name" item for the sign name. 403 404 Returns 0 on success and -1 on failure. When the one argument 405 {list} is used, then returns a List of values one for each 406 defined sign. 407 408 Examples: > 409 call sign_define("mySign", { 410 \ "text" : "=>", 411 \ "texthl" : "Error", 412 \ "linehl" : "Search"}) 413 call sign_define([ 414 \ {'name' : 'sign1', 415 \ 'text' : '=>'}, 416 \ {'name' : 'sign2', 417 \ 'text' : '!!'} 418 \ ]) 419< 420 Can also be used as a |method|: > 421 GetSignList()->sign_define() 422 423sign_getdefined([{name}]) *sign_getdefined()* 424 Get a list of defined signs and their attributes. 425 This is similar to the |:sign-list| command. 426 427 If the {name} is not supplied, then a list of all the defined 428 signs is returned. Otherwise the attribute of the specified 429 sign is returned. 430 431 Each list item in the returned value is a dictionary with the 432 following entries: 433 icon full path to the bitmap file of the sign 434 linehl highlight group used for the whole line the 435 sign is placed in. 436 name name of the sign 437 text text that is displayed when there is no icon 438 or the GUI is not being used. 439 texthl highlight group used for the text item 440 441 Returns an empty List if there are no signs and when {name} is 442 not found. 443 444 Examples: > 445 " Get a list of all the defined signs 446 echo sign_getdefined() 447 448 " Get the attribute of the sign named mySign 449 echo sign_getdefined("mySign") 450< 451 Can also be used as a |method|: > 452 GetSignList()->sign_getdefined() 453 454sign_getplaced([{buf} [, {dict}]]) *sign_getplaced()* 455 Return a list of signs placed in a buffer or all the buffers. 456 This is similar to the |:sign-place-list| command. 457 458 If the optional buffer name {buf} is specified, then only the 459 list of signs placed in that buffer is returned. For the use 460 of {buf}, see |bufname()|. The optional {dict} can contain 461 the following entries: 462 group select only signs in this group 463 id select sign with this identifier 464 lnum select signs placed in this line. For the use 465 of {lnum}, see |line()|. 466 If {group} is '*', then signs in all the groups including the 467 global group are returned. If {group} is not supplied or is an 468 empty string, then only signs in the global group are 469 returned. If no arguments are supplied, then signs in the 470 global group placed in all the buffers are returned. 471 See |sign-group|. 472 473 Each list item in the returned value is a dictionary with the 474 following entries: 475 bufnr number of the buffer with the sign 476 signs list of signs placed in {bufnr}. Each list 477 item is a dictionary with the below listed 478 entries 479 480 The dictionary for each sign contains the following entries: 481 group sign group. Set to '' for the global group. 482 id identifier of the sign 483 lnum line number where the sign is placed 484 name name of the defined sign 485 priority sign priority 486 487 The returned signs in a buffer are ordered by their line 488 number and priority. 489 490 Returns an empty list on failure or if there are no placed 491 signs. 492 493 Examples: > 494 " Get a List of signs placed in eval.c in the 495 " global group 496 echo sign_getplaced("eval.c") 497 498 " Get a List of signs in group 'g1' placed in eval.c 499 echo sign_getplaced("eval.c", {'group' : 'g1'}) 500 501 " Get a List of signs placed at line 10 in eval.c 502 echo sign_getplaced("eval.c", {'lnum' : 10}) 503 504 " Get sign with identifier 10 placed in a.py 505 echo sign_getplaced("a.py", {'id' : 10}) 506 507 " Get sign with id 20 in group 'g1' placed in a.py 508 echo sign_getplaced("a.py", {'group' : 'g1', 509 \ 'id' : 20}) 510 511 " Get a List of all the placed signs 512 echo sign_getplaced() 513< 514 Can also be used as a |method|: > 515 GetBufname()->sign_getplaced() 516< 517 *sign_jump()* 518sign_jump({id}, {group}, {buf}) 519 Open the buffer {buf} or jump to the window that contains 520 {buf} and position the cursor at sign {id} in group {group}. 521 This is similar to the |:sign-jump| command. 522 523 If {group} is an empty string, then the global group is used. 524 For the use of {buf}, see |bufname()|. 525 526 Returns the line number of the sign. Returns -1 if the 527 arguments are invalid. 528 529 Example: > 530 " Jump to sign 10 in the current buffer 531 call sign_jump(10, '', '') 532< 533 Can also be used as a |method|: > 534 GetSignid()->sign_jump() 535< 536 *sign_place()* 537sign_place({id}, {group}, {name}, {buf} [, {dict}]) 538 Place the sign defined as {name} at line {lnum} in file or 539 buffer {buf} and assign {id} and {group} to sign. This is 540 similar to the |:sign-place| command. 541 542 If the sign identifier {id} is zero, then a new identifier is 543 allocated. Otherwise the specified number is used. {group} is 544 the sign group name. To use the global sign group, use an 545 empty string. {group} functions as a namespace for {id}, thus 546 two groups can use the same IDs. Refer to |sign-identifier| 547 and |sign-group| for more information. 548 549 {name} refers to a defined sign. 550 {buf} refers to a buffer name or number. For the accepted 551 values, see |bufname()|. 552 553 The optional {dict} argument supports the following entries: 554 lnum line number in the file or buffer 555 {buf} where the sign is to be placed. 556 For the accepted values, see |line()|. 557 priority priority of the sign. See 558 |sign-priority| for more information. 559 560 If the optional {dict} is not specified, then it modifies the 561 placed sign {id} in group {group} to use the defined sign 562 {name}. 563 564 Returns the sign identifier on success and -1 on failure. 565 566 Examples: > 567 " Place a sign named sign1 with id 5 at line 20 in 568 " buffer json.c 569 call sign_place(5, '', 'sign1', 'json.c', 570 \ {'lnum' : 20}) 571 572 " Updates sign 5 in buffer json.c to use sign2 573 call sign_place(5, '', 'sign2', 'json.c') 574 575 " Place a sign named sign3 at line 30 in 576 " buffer json.c with a new identifier 577 let id = sign_place(0, '', 'sign3', 'json.c', 578 \ {'lnum' : 30}) 579 580 " Place a sign named sign4 with id 10 in group 'g3' 581 " at line 40 in buffer json.c with priority 90 582 call sign_place(10, 'g3', 'sign4', 'json.c', 583 \ {'lnum' : 40, 'priority' : 90}) 584< 585 Can also be used as a |method|: > 586 GetSignid()->sign_place(group, name, expr) 587< 588 *sign_placelist()* 589sign_placelist({list}) 590 Place one or more signs. This is similar to the 591 |sign_place()| function. The {list} argument specifies the 592 List of signs to place. Each list item is a dict with the 593 following sign attributes: 594 buffer buffer name or number. For the accepted 595 values, see |bufname()|. 596 group sign group. {group} functions as a namespace 597 for {id}, thus two groups can use the same 598 IDs. If not specified or set to an empty 599 string, then the global group is used. See 600 |sign-group| for more information. 601 id sign identifier. If not specified or zero, 602 then a new unique identifier is allocated. 603 Otherwise the specified number is used. See 604 |sign-identifier| for more information. 605 lnum line number in the buffer {expr} where the 606 sign is to be placed. For the accepted values, 607 see |line()|. 608 name name of the sign to place. See |sign_define()| 609 for more information. 610 priority priority of the sign. When multiple signs are 611 placed on a line, the sign with the highest 612 priority is used. If not specified, the 613 default value of 10 is used. See 614 |sign-priority| for more information. 615 616 If {id} refers to an existing sign, then the existing sign is 617 modified to use the specified {name} and/or {priority}. 618 619 Returns a List of sign identifiers. If failed to place a 620 sign, the corresponding list item is set to -1. 621 622 Examples: > 623 " Place sign s1 with id 5 at line 20 and id 10 at line 624 " 30 in buffer a.c 625 let [n1, n2] = sign_placelist([ 626 \ {'id' : 5, 627 \ 'name' : 's1', 628 \ 'buffer' : 'a.c', 629 \ 'lnum' : 20}, 630 \ {'id' : 10, 631 \ 'name' : 's1', 632 \ 'buffer' : 'a.c', 633 \ 'lnum' : 30} 634 \ ]) 635 636 " Place sign s1 in buffer a.c at line 40 and 50 637 " with auto-generated identifiers 638 let [n1, n2] = sign_placelist([ 639 \ {'name' : 's1', 640 \ 'buffer' : 'a.c', 641 \ 'lnum' : 40}, 642 \ {'name' : 's1', 643 \ 'buffer' : 'a.c', 644 \ 'lnum' : 50} 645 \ ]) 646< 647 Can also be used as a |method|: > 648 GetSignlist()->sign_placelist() 649 650sign_undefine([{name}]) *sign_undefine()* 651sign_undefine({list}) 652 Deletes a previously defined sign {name}. This is similar to 653 the |:sign-undefine| command. If {name} is not supplied, then 654 deletes all the defined signs. 655 656 The one argument {list} can be used to undefine a list of 657 signs. Each list item is the name of a sign. 658 659 Returns 0 on success and -1 on failure. For the one argument 660 {list} call, returns a list of values one for each undefined 661 sign. 662 663 Examples: > 664 " Delete a sign named mySign 665 call sign_undefine("mySign") 666 667 " Delete signs 'sign1' and 'sign2' 668 call sign_undefine(["sign1", "sign2"]) 669 670 " Delete all the signs 671 call sign_undefine() 672< 673 Can also be used as a |method|: > 674 GetSignlist()->sign_undefine() 675 676sign_unplace({group} [, {dict}]) *sign_unplace()* 677 Remove a previously placed sign in one or more buffers. This 678 is similar to the |:sign-unplace| command. 679 680 {group} is the sign group name. To use the global sign group, 681 use an empty string. If {group} is set to '*', then all the 682 groups including the global group are used. 683 The signs in {group} are selected based on the entries in 684 {dict}. The following optional entries in {dict} are 685 supported: 686 buffer buffer name or number. See |bufname()|. 687 id sign identifier 688 If {dict} is not supplied, then all the signs in {group} are 689 removed. 690 691 Returns 0 on success and -1 on failure. 692 693 Examples: > 694 " Remove sign 10 from buffer a.vim 695 call sign_unplace('', {'buffer' : "a.vim", 'id' : 10}) 696 697 " Remove sign 20 in group 'g1' from buffer 3 698 call sign_unplace('g1', {'buffer' : 3, 'id' : 20}) 699 700 " Remove all the signs in group 'g2' from buffer 10 701 call sign_unplace('g2', {'buffer' : 10}) 702 703 " Remove sign 30 in group 'g3' from all the buffers 704 call sign_unplace('g3', {'id' : 30}) 705 706 " Remove all the signs placed in buffer 5 707 call sign_unplace('*', {'buffer' : 5}) 708 709 " Remove the signs in group 'g4' from all the buffers 710 call sign_unplace('g4') 711 712 " Remove sign 40 from all the buffers 713 call sign_unplace('*', {'id' : 40}) 714 715 " Remove all the placed signs from all the buffers 716 call sign_unplace('*') 717 718< Can also be used as a |method|: > 719 GetSigngroup()->sign_unplace() 720< 721sign_unplacelist({list}) *sign_unplacelist()* 722 Remove previously placed signs from one or more buffers. This 723 is similar to the |sign_unplace()| function. 724 725 The {list} argument specifies the List of signs to remove. 726 Each list item is a dict with the following sign attributes: 727 buffer buffer name or number. For the accepted 728 values, see |bufname()|. If not specified, 729 then the specified sign is removed from all 730 the buffers. 731 group sign group name. If not specified or set to an 732 empty string, then the global sign group is 733 used. If set to '*', then all the groups 734 including the global group are used. 735 id sign identifier. If not specified, then all 736 the signs in the specified group are removed. 737 738 Returns a List where an entry is set to 0 if the corresponding 739 sign was successfully removed or -1 on failure. 740 741 Example: > 742 " Remove sign with id 10 from buffer a.vim and sign 743 " with id 20 from buffer b.vim 744 call sign_unplacelist([ 745 \ {'id' : 10, 'buffer' : "a.vim"}, 746 \ {'id' : 20, 'buffer' : 'b.vim'}, 747 \ ]) 748< 749 Can also be used as a |method|: > 750 GetSignlist()->sign_unplacelist() 751< 752 753 vim:tw=78:ts=8:noet:ft=help:norl: 754