162 lines
4.7 KiB
Plaintext
162 lines
4.7 KiB
Plaintext
###############################################################
|
|
# This file contains the verb definitions for broot
|
|
#
|
|
# Some verbs here are examples and not enabled by default: you
|
|
# need to uncomment them if you want to use them.
|
|
#
|
|
# Documentation at https://dystroy.org/broot/verbs/
|
|
###############################################################
|
|
|
|
verbs: [
|
|
|
|
# You should customize this standard opening of text files.
|
|
# If you edit text files in your terminal (vi, emacs, helix, eg.), then
|
|
# you'll find it convenient to change the 'key' from 'ctrl-e' to 'enter'.
|
|
#
|
|
# If $EDITOR isn't set on your computer, you should either set it using
|
|
# something similar to
|
|
# export EDITOR=/usr/local/bin/nvim
|
|
# or just replace it with your editor of choice in the 'execution'
|
|
# pattern.
|
|
# If your editor is able to open a file on a specific line, use {line}
|
|
# so that you may jump directly at the right line from a preview or
|
|
# a content search.
|
|
# Examples depending on your favourite editor:
|
|
# execution: "nvim +{line} {file}"
|
|
# execution: "helix {file}:{line}"
|
|
{
|
|
invocation: edit
|
|
shortcut: e
|
|
key: ctrl-e
|
|
apply_to: text_file
|
|
execution: "$EDITOR {file}"
|
|
leave_broot: false
|
|
}
|
|
|
|
# Example 1: launching `tail -n` on the selected file (leaving broot)
|
|
# {
|
|
# name: tail_lines
|
|
# invocation: tl {lines_count}
|
|
# execution: "tail -f -n {lines_count} {file}"
|
|
# }
|
|
|
|
# Example 2: creating a new file without leaving broot
|
|
# {
|
|
# name: touch
|
|
# invocation: touch {new_file}
|
|
# execution: "touch {directory}/{new_file}"
|
|
# leave_broot: false
|
|
# }
|
|
|
|
# A convenient shortcut to create new text files in
|
|
# the current directory or below
|
|
{
|
|
invocation: create {subpath}
|
|
execution: "$EDITOR {directory}/{subpath}"
|
|
leave_broot: false
|
|
}
|
|
|
|
{
|
|
invocation: git_diff
|
|
shortcut: gd
|
|
leave_broot: false
|
|
execution: "git difftool -y {file}"
|
|
}
|
|
|
|
# On ctrl-b, propose the creation of a copy of the selection.
|
|
# While this might occasionally be useful, this verb is mostly here
|
|
# as an example to demonstrate rare standard groups like {file-stem}
|
|
# and {file-dot-extension} and the auto_exec verb property which
|
|
# allows verbs to stay unexecuted until you hit enter
|
|
{
|
|
invocation: "backup {version}"
|
|
key: ctrl-b
|
|
leave_broot: false
|
|
auto_exec: false
|
|
execution: "cp -r {file} {parent}/{file-stem}-{version}{file-dot-extension}"
|
|
}
|
|
|
|
# By default, `rm` does the system rm, and completely removes
|
|
# the file. If you prefer to have the file moved to the system
|
|
# trash, you may use the ':trash' internal with the verb below:
|
|
# {
|
|
# invocation: "rm"
|
|
# internal: "trash"
|
|
# leave_broot: false
|
|
# }
|
|
|
|
# This verb lets you launch a terminal on ctrl-T
|
|
# (on exit you'll be back in broot)
|
|
{
|
|
invocation: terminal
|
|
key: ctrl-t
|
|
execution: "$SHELL"
|
|
set_working_dir: true
|
|
leave_broot: false
|
|
}
|
|
|
|
# Here's an example of a verb needing the shell capabilities.
|
|
# It copies all children of the currently selected directory
|
|
# to a destination you type.
|
|
# It uses a star, which needs the shell for expansion. That's
|
|
# why such verb must have the `from_shell: true` parameter.
|
|
# {
|
|
# invocation: "cpa {dest}"
|
|
# external: "cp -r {directory}/* {dest}"
|
|
# from_shell: true
|
|
# }
|
|
|
|
# Here's an example of a shortcut bringing you to your home directory
|
|
# {
|
|
# invocation: home
|
|
# key: ctrl-home
|
|
# execution: ":focus ~"
|
|
# }
|
|
|
|
# Here's going to the work-dir root of the current git repository
|
|
# {
|
|
# invocation: gtr
|
|
# execution: ":focus {git-root}"
|
|
# }
|
|
|
|
# A popular set of shortcuts for going up and down:
|
|
#
|
|
# {
|
|
# key: ctrl-k
|
|
# execution: ":line_up"
|
|
# }
|
|
# {
|
|
# key: ctrl-j
|
|
# execution: ":line_down"
|
|
# }
|
|
# {
|
|
# key: ctrl-u
|
|
# execution: ":page_up"
|
|
# }
|
|
# {
|
|
# key: ctrl-d
|
|
# execution: ":page_down"
|
|
# }
|
|
|
|
# If you develop using git, you might like to often switch
|
|
# to the git status filter:
|
|
# {
|
|
# key: alt-g
|
|
# execution: ":toggle_git_status"
|
|
# }
|
|
|
|
# You can reproduce the bindings of Norton Commander
|
|
# on copying or moving to the other panel:
|
|
# {
|
|
# key: F5
|
|
# external: "cp -r {file} {other-panel-directory}"
|
|
# leave_broot: false
|
|
# }
|
|
# {
|
|
# key: F6
|
|
# external: "mv {file} {other-panel-directory}"
|
|
# leave_broot: false
|
|
# }
|
|
]
|
|
|