ictree - like tree but interactive

NAME  SYNOPSIS  DESCRIPTION  EXAMPLES  COMMANDS  MOVING  OTHERS  CUSTOM COMMANDS  OPTIONS  FILES  SEE ALSO  AUTHOR 

NAME

ictree - like tree but interactive

SYNOPSIS

ictree

[OPTION...] [FILE]

DESCRIPTION

ictree is a terminal-based program that takes a list of contents of directories and displays them in a pager similar to less where you can fold/unfold directories and quickly jump between them.

It is useful to browse locatefind or any other program output that is a list of paths.

EXAMPLES

Find something with locate and pipe output into ictree:

locate something | ictree

The same applies to any program that can produce a list of paths. For example, one can use find with ictree to view current working directory in a nice tree-like format:

find | ictree

ictree can also take a file that contains paths as its first argument:

locate something > list.txt
ictree list.txt

ictree supports vi-like search functionality. Extended regular expressions are supported. If a pattern contains / character, the search is performed by full paths of items instead of their short names in the list.

COMMANDS

All the commands for moving in the pager resemble less and vi commands.

MOVING

j<Down>

Move cursor down 1 line

k<Up>

Move cursor up 1 line

l<Right>

Scroll right

h<Left>

Scroll left

ˆE<Mouse Wheel Down>

Scroll down one line

ˆY<Mouse Wheel Up>

Scroll up one line

ˆD

Scroll down half-window

ˆU

Scroll up half-window

ˆF

Scroll down one window

ˆB

Scroll up one window

g

Move cursor to the top

G

Move cursor to the bottom

z

Put cursor at the center of window

p

Go to parent item

OTHERS

<Enter><Mouse Left Button>

Fold/unfold selected item

<Space>

Fold selected item and move cursor down 1 line

c

Go to parent item and fold it

/

Search forward for pattern

?

Search backward for pattern

n

Repeat previous search

N

Repeat previous search in reverse direction

y

Copy selected item into X or Wayland clipboard (using this command requires xsel or wl-copy installed, depending on which display server is used)

o

Write selected item to standard output and exit

q<Esc>

Quit

ˆZ

Suspend ictree

CUSTOM COMMANDS

It’s possible to define custom commands in the configuration file (see FILES) to open a selected path in other programs.

Examples:

# open selected path in vim by pressing e
map e vim $f

# open selected path in a pager
# defined in $PAGER environment variable
map i $PAGER $f

When a custom command is invoked, ictree simply runs a program with /bin/sh and sets $f variable to whatever a user has selected.

Note: unlike Vim, it’s impossible to use more than one character in a mapping.

OPTIONS

−−fold−f

Fold directories by default.

−−separator=<C>−s <C>

Set directory separator to C. / is the default value.

−−help−h

Print a help message and exit.

−−version−v

Display version information and exit.

FILES

$XDG_CONFIG_PATH/ictree/config

Configuration file. If $XDG_CONFIG_PATH is not defined, $HOME/.config is used instead.

SEE ALSO

tree(1), find(1), locate(1), less(1)

AUTHOR

Written by Nikita Ivanov.


Updated 2024-01-29 - jenkler.se | uex.se