1BUKU(1) User Commands BUKU(1)
2
3
4
6 buku - Bookmark manager like a text-based mini-web
7
9 buku [OPTIONS] [KEYWORD [KEYWORD ...]]
10
12 buku is a command-line utility to store, tag, search and organize book‐
13 marks.
14
15 Features
16
17 * Store bookmarks with auto-fetched title, tags and description
18 * Auto-import from Firefox, Google Chrome, Chromium, Vivaldi, and MS
19 Edge
20 * Open bookmarks and search results in browser
21 * Shorten, expand URLs
22 * Browse cached page from the Wayback Machine
23 * Text editor integration
24 * Lightweight, clean interface, custom colors
25 * Powerful search options (regex, substring...)
26 * Continuous search with on the fly mode switch
27 * Portable, merge-able database to sync between systems
28 * Import/export bookmarks from/to HTML, XBEL, Markdown or Orgfile
29 * Smart tag management using redirection (>>, >, <<)
30 * Multithreaded full DB refresh
31 * Manual encryption support
32 * Shell completion scripts, man page with handy examples
33
35 1. The database file is stored in:
36 - $XDG_DATA_HOME/buku/bookmarks.db, if XDG_DATA_HOME is defined
37 (first preference), or
38 - $HOME/.local/share/buku/bookmarks.db, if HOME is defined (sec‐
39 ond preference), or
40 - %APPDATA%\buku\bookmarks.db, if you are on Windows, or
41 - the current directory.
42
43 2. If the URL contains characters like ';', '&' or brackets they may
44 be interpreted specially by the shell. To avoid it, add the URL
45 within single or double quotes ('/").
46
47 3. URLs are unique in DB. The same URL cannot be added twice.
48
49 4. Bookmarks with immutable titles are listed with '(L)' after the ti‐
50 tle.
51
52 5. Tags:
53 - Comma (',') is the tag delimiter in DB. A tag cannot have
54 comma(s) in it. Tags are filtered (for unique tags) and sorted.
55 Tags are stored in lower case and can be replaced, appended or
56 deleted.
57 - Page keywords having a word to comma ratio > 3 are appended to
58 description rather than tags.
59 - Parent folder (and subfolder) names are converted to all-lower‐
60 case tags during bookmarks HTML import.
61 - Releases prior to v2.7 support both capital and lower cases in
62 tags. From v2.7 all tags are stored in lowercase. An undocumented
63 option --fixtags is introduced to modify the older tags. It also
64 fixes another issue where the same tag appears multiple times in
65 the tagset of a record. Run buku --fixtags once.
66 - Tags can be edited from the prompt very easily using '>>' (ap‐
67 pend), '>' (overwrite) and '<<' (remove) symbols. The LHS of the
68 operands denotes the indices and ranges of tags to apply (as listed
69 by --tag or key 't' at prompt) and the RHS denotes the actual DB
70 indices and ranges of the bookmarks to apply the change to.
71
72 6. Update operation:
73 - If --title, --tag or --comment is passed without argument,
74 clear the corresponding field from DB.
75 - If --url is passed (and --title is omitted), update the title
76 from web using the URL. Description is updated (if --comment is
77 omitted). Tags remain untouched.
78 - If indices are passed without any other options (--url, --ti‐
79 tle, --tag, --comment and --immutable), read the URLs from DB and
80 update titles, description and append tags from web. Bookmarks
81 marked immutable are skipped.
82 - Can update bookmarks matching a search, when combined with any
83 of the search options and no arguments to update are passed.
84
85 7. Delete operation:
86 - When a record is deleted, the last record is moved to the in‐
87 dex.
88 - Delete doesn't work with range and indices provided together as
89 arguments. It's an intentional decision to avoid extra sorting, in-
90 range checks and to keep the auto-DB compaction functionality in‐
91 tact. On the same lines, indices are deleted in descending order.
92 - Can delete bookmarks matching a search, when combined with any
93 of the search options and no arguments to delete are passed.
94
95 8. Search works in mysterious ways:
96 - Case-insensitive.
97 - Matches words in URL, title and tags.
98 - --sany : match any of the keywords in URL, title or tags. De‐
99 fault search option.
100 - --sall : match all the keywords in URL, title or tags.
101 - --deep : match substrings (`match` matches `rematched`) in URL,
102 title and tags.
103 - --sreg : match a regular expression (ignores --deep).
104 - --stag : search bookmarks by tags, or list all tags alphabeti‐
105 cally with usage count (if no arguments). Delimit the list of tags
106 in the query with `,` to search for bookmarks that match ANY of the
107 listed tags. Delimit tags with `+` to search for bookmarks that
108 match ALL of the listed tags. Note that `,` and `+` cannot be used
109 together in the same search. Exclude bookmarks matching certain
110 tags from the results by using ` - ` followed by the tags. Note
111 that the ` - ` operator and the ` + ` delimiter must be space sepa‐
112 rated: ` - ` instead of `-` and ` + ` instead of `+`. This is to
113 distinguish them from hyphenated tags (e.g., `some-tag-name`) and
114 tags with '+'s (e.g., `some+tag+name`).
115 - Search for keywords along with tag filtering is possible. Two
116 searches are issued (one for keywords and another for tags) and the
117 intersection of the 2 sets is returned as the resultset.
118 - Search results are indexed incrementally. This index is differ‐
119 ent from actual database index of a bookmark record which is shown
120 within '[]' after the title.
121 - Results for any keyword matches are ordered by the number of
122 keyword matches - results matching more keywords (match score) will
123 appear earlier in the list. Results having the same number of
124 matches will be ranked by their record DB index. If only one key‐
125 word is searched, results will be ordered by DB index, since all
126 matching records will have the same match score.
127
128 9. Import:
129 - Auto-import looks in the default installation path and default
130 user profile.
131 - URLs starting with `place:`, `file://` and `apt:` are ignored
132 during import.
133 - Parent folder (and subfolder) names are automatically imported
134 as tags if --tacit is used.
135 - Tags are merged even if bookmark URL exists when --tacit is
136 used.
137 - JSON files exported from browser can be imported. Export to
138 JSON is not supported.
139
140 10. Encryption is optional and manual. AES256 algorithm is used. To use
141 encryption, the database file should be unlocked (-k) before using
142 buku and locked (-l) afterwards. Between these 2 operations, the
143 database file lies unencrypted on the disk, and NOT in memory.
144 Also, note that the database file is unencrypted on creation.
145
146 11. Editor support:
147 - A single bookmark can be edited before adding. The editor can
148 be set using the environment variable *EDITOR* or by explicitly
149 specifying the editor. The latter takes precedence. If -a is used
150 along with -w, the details are populated in the editor template.
151 - In case of edit and update (a single bookmark), the existing
152 record details are fetched from DB and populated in the editor tem‐
153 plate. The environment variable EDITOR must be set. Note that -u
154 works independently of -w.
155 - All lines beginning with "#" will be stripped. Then line 1 will
156 be treated as the URL, line 2 will be the title, line 3 will be
157 comma separated tags, and the rest of the lines will be parsed as
158 descriptions.
159
160 12. Proxy support: please refer to the ENVIRONMENT section.
161
162 13. Alternative DB file:
163 - The option --db (to specify an alternative database file loca‐
164 tion) is app-only. Manual usage is prone to issues arising from hu‐
165 man error.
166 - Note that this option is useful if you want to store the db
167 file in cloud synced location. Another mechanism could be to have
168 the db file synced and create a symlink to it at the default loca‐
169 tion.
170
172 -a --add URL [tag, ...]
173 Bookmark URL along with comma-separated tags. A tag can have
174 multiple words.
175
176 -u --update [...]
177 Update fields of the bookmarks at specified indices in DB. If no
178 arguments are specified, all titles and descriptions are re‐
179 freshed from the web. Tags remain untouched. Works with update
180 modifiers for the fields url, title, tag and comment. If only
181 indices are passed without any edit options, titles and descrip‐
182 tions are fetched and updated (if not empty). Accepts hyphenated
183 ranges and space-separated indices. Updates search results when
184 used with search options, if no arguments.
185
186 -w --write [editor|index]
187 Edit a bookmark in editor before adding it. To edit and update
188 an existing bookmark, the index should be passed. In this case
189 the environment variable EDITOR must be set. The last record is
190 opened in EDITOR if index=-1.
191
192 -d --delete [...]
193 Delete bookmarks. Accepts space-separated list of indices (e.g.
194 5 6 23 4 110 45) or a single hyphenated range (e.g. 100-200).
195 Note that range and list don't work together. Deletes search re‐
196 sults when combined with search options, if no arguments.
197
198 -v --version
199 Show program version and exit.
200
201 -h --help
202 Show program help and exit.
203
205 --url [...]
206 Specify the URL, works with --update only. Fetches and updates
207 title if --title is not used.
208
209 --tag [+|-] [...]
210 Specify comma separated tags, works with --add, --update. Clears
211 the tags, if no arguments passed. Appends or deletes tags, if
212 list of tags is preceded by '+' or '-' respectively.
213
214 --title [...]
215 Manually specify the title, works with --add, --update. Omits or
216 clears the title, if no arguments passed.
217
218 -c --comment [...]
219 Add notes or description of the bookmark, works with --add,
220 --update. Clears the comment, if no arguments passed.
221
222 --immutable N
223 Set the title, description and tags of a bookmark immutable dur‐
224 ing autorefresh. Works with --add, --update. N=1 sets the im‐
225 mutable flag, N=0 removes it. If omitted, bookmarks are added
226 with N=0.
227
229 -s --sany keyword [...]
230 Search bookmarks with ANY of the keyword(s) in URL, title or
231 tags and show the results. Prompts to enter result number to
232 open in browser. Note that the sequential result index is not
233 the DB index. The DB index is shown within '[]' after the title.
234 This is the default search option for positional arguments if no
235 other search option is specified.
236
237 -S --sall keyword [...]
238 Search bookmarks with ALL keywords in URL, title or tags and
239 show the results. Behaviour same as --sany.
240 Special keywords:
241 "blank": list entries with empty title/tag
242 "immutable": list entries with locked title
243 NOTE: To search the keywords, use --sany
244
245 --deep Search modifier to match substrings. Works with --sany, --sall.
246
247 -r --sreg expression
248 Scan for a regular expression match.
249
250 -t --stag [tag [,|+] ...] [- tag, ...]
251 Search bookmarks by tags.
252 Use ',' delimiter to find entries matching ANY of the tags
253 Use ' + ' delimiter to find entries matching ALL of the tags.
254 (Note that the ' + ' delimiter must be space separated)
255 NOTE: Cannot combine ',' and '+' in the same search
256 Use ' - ' to exclude bookmarks that match the tags that follow.
257 (Note that the '-' operator must be space separated).
258 List all tags alphabetically, if no arguments. The usage count
259 (number of bookmarks having the tag) is shown within first
260 brackets.
261
262 -x --exclude keyword [...]
263 Exclude bookmarks matching the specified keywords. Works with
264 --sany, --sall, --sreg and --stag.
265
267 -l --lock [N]
268 Encrypt (lock) the DB file with N (> 0, default 8) hash passes
269 to generate key.
270
271 -k --unlock [N]
272 Decrypt (unlock) the DB file with N (> 0, default 8) hash passes
273 to generate key.
274
276 --ai Auto-import bookmarks from Firefox, Google Chrome, Chromium, Vi‐
277 valdi, and Edge browsers.
278
279 -e --export file
280 Export bookmarks to Firefox bookmarks formatted HTML. Works with
281 all search options.
282 XBEL is used if file has extension '.xbel'.
283 Markdown is used if file has extension '.md'. Markdown format:
284 [title](url), 1 entry per line.
285 Orgfile is used if file has extension '.org' Orgfile format: *
286 [[url][title]], 1 entry per line.
287 A buku database is generated if file has extension '.db'.
288
289 -i --import file
290 Import bookmarks from Firefox bookmarks formatted HTML. file is
291 considered Firefox-exported JSON if it has '.json' extension,
292 XBEL if it is '.xbel', Markdown (compliant with --export format)
293 if it is '.md', Orgfile if the extension is '.org' or another
294 buku database if the extension is '.db'.
295
296 -p --print [...]
297 Show details (DB index, URL, title, tags and comment) of book‐
298 mark record by DB index. If no arguments, all records with ac‐
299 tual index from DB are shown. Accepts hyphenated ranges and
300 space-separated indices. A negative value (introduced for conve‐
301 nience) behaves like the tail utility, e.g., -n shows the de‐
302 tails of the last n bookmarks.
303
304 -f --format N
305 Show selective monochrome output with specific fields. Works
306 with --print. Search results honour the option when used along
307 with --json. Useful for creating batch scripts.
308 N = 1, show only URL.
309 N = 2, show URL and tags in a single line.
310 N = 3, show only title.
311 N = 4, show URL, title and tags in a single line.
312 N = 5, show title and tags in a single line.
313 To omit DB index from printed results, use N0, e.g., 10, 20, 30,
314 40, 50.
315
316 -j --json
317 Output data formatted as JSON, works with --print output and
318 search results.
319
320 --colors COLORS
321 Set output colors. Refer to the COLORS section below for de‐
322 tails.
323
324 --nc Disable color output in all messages. Useful on terminals which
325 can't handle ANSI color codes or scripted environments.
326
327 -n --count N
328 Number of results to show per page (default 10).
329
330 --np Do not show the prompt, run and exit.
331
332 -o --open [...]
333 Open bookmarks by DB indices or ranges in browser. Open a random
334 index if argument is omitted.
335
336 --oa Open all search results immediately in the browser. Works best
337 with --np. When used along with --update or --delete, URLs are
338 opened in the browser first and then modified or deleted.
339
340 --replace old new
341 Replace old tag with new tag if both are passed; delete old tag
342 if new tag is not specified.
343
344 --shorten index|URL
345 Shorten the URL at DB index or an independent URL using the
346 tny.im URL shortener service.
347
348 --expand index|URL
349 Expand the URL at DB index or an independent URL shortened using
350 tny.im.
351
352 --cached index|URL
353 Browse the latest cached version of the URL at DB index or an
354 independent URL using the Wayback Machine. Useful for viewing
355 the content of bookmarks which are not live any more.
356
357 --suggest
358 Show a list of similar tags to choose from when adding a new
359 bookmark.
360
361 --tacit
362 Show lesser output. Reduces the verbosity of certain operations
363 like add, update etc.
364
365 --nostdin
366 Do not attempt to read data from standard input e.g. when the
367 program is not executed from a tty.
368
369 --threads
370 Maximum number of parallel network connection threads to use
371 during full DB refresh. By default 4 connections are spawned. N
372 can range from 1 to 10.
373
374 -V Check the latest upstream version available. This is FYI. It is
375 possible the latest upstream released version is still not
376 available in your package manager as the process takes a while.
377
378 -g --debug
379 Show debug information and additional logs.
380
382 1-N Browse search results by indices and ranges.
383
384 O [id|range [...]]
385 Try to open search results or indices (when not in a search con‐
386 text) in a GUI browser. Toggle try to open urls in a GUI based
387 browser (even if BROWSER is set) if no arguments. Toggling is
388 useful when trying to open bookmarks by DB index.
389
390 a Open all search results in browser.
391
392 s keyword [...]
393 Search for records with ANY keyword.
394
395 S keyword [...]
396 Search for records with ALL keywords.
397
398 d Toggle deep search to match substrings ('pen' matches 'opened').
399
400 r expression
401 Run a regular expression search.
402
403 t [...]
404 Search bookmarks by a tag. List all tags alphabetically, if no
405 arguments.
406
407 g taglist id|range [...] [>>|>|<<] [record id|range ...]
408 Append, set, remove specific or all tags by indices and/or
409 ranges to bookmark indices and/or ranges (see EXAMPLES section
410 below). Search by space-separated taglist id(s) and/or range if
411 records are omitted.
412
413 o id|range [...]
414 Browse bookmarks by indices and/or ranges.
415
416 p id|range [...]
417 Print bookmarks by indices and/or ranges.
418
419 w [editor|id]
420 Edit and add or update a bookmark.
421
422 c id Copy url at search result index to clipboard.
423
424 ? Show help on prompt keys.
425
426 q, ^D, double Enter
427 Exit buku.
428
430 Completion scripts
431 Shell completion scripts for Bash, Fish and Zsh can be found in:
432 https://github.com/jarun/buku/blob/master/auto-completion
433
434 BROWSER
435 Overrides the default browser. Refer to:
436 http://docs.python.org/library/webbrowser.html
437
438 EDITOR If defined, will be used as the editor to edit bookmarks with
439 option --write.
440
441 https_proxy
442 If defined, will be used to access http and https resources
443 through the configured proxy. Supported format:
444 http[s]://[username:password@]proxyhost:proxyport/
445
446 GUI integration
447 buku can be integrated in a GUI environment with simple tweaks.
448 Please refer to:
449 https://github.com/jarun/buku/wiki/System-integration
450
452 buku allows you to customize the color scheme via a five-letter string,
453 reminiscent of BSD LSCOLORS. The five letters represent the colors of
454
455 - index
456 - title
457 - URL
458 - description/comment/note
459 - tag
460
461 respectively. The five-letter string is passed is as the argument to
462 the --colors option, or as the value of the environment variable
463 BUKU_COLORS.
464
465 We offer the following colors/styles:
466
467 ┌───────┬───────────────────────────────────────────────────┐
468 │Letter │ Color/Style │
469 ├───────├───────────────────────────────────────────────────┤
470 │a │ black │
471 │b │ red │
472 │c │ green │
473 │d │ yellow │
474 │e │ blue │
475 │f │ magenta │
476 │g │ cyan │
477 │h │ white │
478 │i │ bright black │
479 │j │ bright red │
480 │k │ bright green │
481 │l │ bright yellow │
482 │m │ bright blue │
483 │n │ bright magenta │
484 │o │ bright cyan │
485 │p │ bright white │
486 │A-H │ bold version of the lowercase-letter color │
487 │I-P │ bold version of the lowercase-letter bright color │
488 │x │ normal │
489 │X │ bold │
490 │y │ reverse video │
491 │Y │ bold reverse video │
492 └───────┴───────────────────────────────────────────────────┘
493
494 The default colors string is oKlxm, which stands for
495
496 - bright cyan index
497 - bold bright green title
498 - bright yellow URL
499 - normal description
500 - bright blue tag
501
502 Note that
503
504 - Bright colors (implemented as \x1b[90m - \x1b[97m) may not be avail‐
505 able in all color-capable terminal emulators;
506
507 - Some terminal emulators draw bold text in bright colors instead;
508
509 - Some terminal emulators only distinguish between bold and bright col‐
510 ors via a default-off switch.
511
512 Please consult the manual of your terminal emulator as well as
513 https://en.wikipedia.org/wiki/ANSI_escape_code for details.
514
515
517 1. Edit and add a bookmark from editor:
518
519 buku -w
520 buku -w 'gedit -w'
521 buku -w 'macvim -f' -a https://ddg.gg search engine, privacy
522
523 The first command picks editor from the environment variable EDI‐
524 TOR. The second command opens gedit in blocking mode. The third
525 command opens macvim with option -f and the URL and tags populated
526 in template.
527
528 2. Add a simple bookmark:
529
530 buku --no-stdin -a https://github.com/
531
532 In the output, >: url, +: comment, #: tags.
533
534 3. Add a bookmark with tags 'search engine' and 'privacy', comment
535 'Search engine with perks', fetch page title from the web:
536
537 buku -a https://ddg.gg search engine, privacy -c Search engine with perks
538
539 In the output, >: url, +: comment, #: tags.
540
541 4. Add a bookmark with tags 'search engine' & 'privacy' and immutable
542 custom title 'DDG':
543
544 buku -a https://ddg.gg search engine, privacy --title 'DDG' --immutable 1
545
546 Note that URL must precede tags.
547
548 5. Add a bookmark without a title (works for update too):
549
550 buku -a https://ddg.gg search engine, privacy --title
551
552 6. Edit and update a bookmark from editor:
553
554 buku -w 15012014
555
556 This will open the existing bookmark's details in the editor for
557 modifications. Environment variable EDITOR must be set.
558
559 7. Update existing bookmark at index 15012014 with new URL, tags and
560 comments, fetch title from the web:
561
562 buku -u 15012014 --url http://ddg.gg/ --tag web search, utilities -c Private search engine
563
564 8. Fetch and update only title for bookmark at 15012014:
565
566 buku -u 15012014
567
568 9. Update only comment for bookmark at 15012014:
569
570 buku -u 15012014 -c this is a new comment
571
572 Applies to --url, --title and --tag too.
573
574 10. Export bookmarks tagged 'tag 1' or 'tag 2' to HTML, XBEL, Markdown,
575 Orgfile or a new database:
576
577 buku -e bookmarks.html --stag tag 1, tag 2
578 buku -e bookmarks.xbel --stag tag 1, tag 2
579 buku -e bookmarks.md --stag tag 1, tag 2
580 buku -e bookmarks.org --stag tag 1, tag 2
581 buku -e bookmarks.db --stag tag 1, tag 2
582
583 All bookmarks are exported if search is not opted.
584
585 11. Import bookmarks from HTML, XBEL, Markdown or Orgfile:
586
587 buku -i bookmarks.html
588 buku -i bookmarks.xbel
589 buku -i bookmarks.md
590 buku -i bookmarks.db
591
592 12. Delete only comment for bookmark at 15012014:
593
594 buku -u 15012014 -c
595
596 Applies to --title and --tag too. URL cannot be deleted without
597 deleting the bookmark.
598
599 13. Update or refresh full DB with page titles from the web:
600
601 buku -u
602 buku -u --tacit (show only failures and exceptions)
603
604 This operation can update the title or description fields of non-
605 immutable bookmarks by parsing the fetched page. Fields are updated
606 only if the fetched fields are non-empty. Tags remain untouched.
607
608 14. Delete bookmark at index 15012014:
609
610 buku -d 15012014
611
612 The last index is moved to the deleted index to keep the DB com‐
613 pact. Add --tacit to delete without confirmation.
614
615 15. Delete all bookmarks:
616
617 buku -d
618
619 16. Delete a range or list of bookmarks:
620
621 buku -d 100-200
622 buku -d 100 15 200
623
624 17. Search bookmarks for ANY of the keywords 'kernel' and 'debugging'
625 in URL, title or tags:
626
627 buku kernel debugging
628 buku -s kernel debugging
629
630 18. Search bookmarks with ALL the keywords 'kernel' and 'debugging' in
631 URL, title or tags:
632
633 buku -S kernel debugging
634
635 19. Search bookmarks tagged 'general kernel concepts':
636
637 buku --stag general kernel concepts
638
639 20. Search for bookmarks matching ANY of the tags 'kernel', 'debug‐
640 ging', 'general kernel concepts':
641
642 buku --stag kernel, debugging, general kernel concepts
643
644 21. Search for bookmarks matching ALL of the tags 'kernel', 'debug‐
645 ging', 'general kernel concepts':
646
647 buku --stag kernel + debugging + general kernel concepts
648
649 22. Search for bookmarks matching any of the keywords 'hello' or
650 'world', excluding the keywords 'real' and 'life', matching both
651 the tags 'kernel' and 'debugging', but excluding the tags 'general
652 kernel concepts' and 'books':
653
654 buku hello world --exclude real life --stag 'kernel + debugging - general kernel concepts, books'
655
656 23. List all unique tags alphabetically:
657
658 buku --stag
659
660 24. Run a search and update the results:
661
662 buku -s kernel debugging -u --tag + linux kernel
663
664 25. Run a search and delete the results:
665
666 buku -s kernel debugging -d
667
668 26. Encrypt or decrypt DB with custom number of iterations (15) to gen‐
669 erate key:
670
671 buku -l 15
672 buku -k 15
673
674 The same number of iterations must be specified for one lock & un‐
675 lock instance. Default is 8, if omitted.
676
677 27. Show details of bookmarks at index 15012014 and ranges 20-30,
678 40-50:
679
680 buku -p 20-30 15012014 40-50
681
682 28. Show details of the last 10 bookmarks:
683
684 buku -p -10
685
686 29. Show all bookmarks with real index from database:
687
688 buku -p
689 buku -p | more
690
691 30. Replace tag 'old tag' with 'new tag':
692
693 buku --replace 'old tag' 'new tag'
694
695 31. Delete tag 'old tag' from DB:
696
697 buku --replace 'old tag'
698
699 32. Append (or delete) tags 'tag 1', 'tag 2' to (or from) existing tags
700 of bookmark at index 15012014:
701
702 buku -u 15012014 --tag + tag 1, tag 2
703 buku -u 15012014 --tag - tag 1, tag 2
704
705 33. Open URL at index 15012014 in browser:
706
707 buku -o 15012014
708
709 34. List bookmarks with no title or tags for bookkeeping:
710
711 buku -S blank
712
713 35. List bookmarks with immutable title:
714
715 buku -S immutable
716
717 36. Shorten the URL www.google.com and the URL at index 20:
718
719 buku --shorten www.google.com
720 buku --shorten 20
721
722 37. Append, remove tags at prompt (taglist index to the left, bookmark
723 index to the right):
724
725 // append tags at taglist indices 4 and 6-9 to existing tags in bookmarks at indices 5 and 2-3
726 buku (? for help) g 4 9-6 >> 5 3-2
727 // set tags at taglist indices 4 and 6-9 as tags in bookmarks at indices 5 and 2-3
728 buku (? for help) g 4 9-6 > 5 3-2
729 // remove all tags from bookmarks at indices 5 and 2-3
730 buku (? for help) g > 5 3-2
731 // remove tags at taglist indices 4 and 6-9 from tags in bookmarks at indices 5 and 2-3
732 buku (? for help) g 4 9-6 << 5 3-2
733
734 38. List bookmarks with colored output:
735
736 $ buku --colors oKlxm -p
737
739 Arun Prakash Jana <engineerarun@gmail.com>
740
742 https://github.com/jarun/buku
743
745 https://github.com/jarun/buku/wiki
746
748 https://github.com/jarun/buku/issues
749
751 Copyright © 2015-2022 Arun Prakash Jana <engineerarun@gmail.com>.
752
753 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/li‐
754 censes/gpl.html>.
755 This is free software: you are free to change and redistribute it.
756 There is NO WARRANTY, to the extent permitted by law.
757
758
759
760Version 4.8 18 Feb 2023 BUKU(1)