Apparix allows one to bookmark directories and later jump to them using the mark. By default, it acts as a replacement for cd and can be used in the same manner, including the special behaviour for cd without argument and "cd -". It is possible to directly jump to subdirectories of a bookmarked directory. The contributed bash completion code facilitates completion both on bookmarks and directories, but can be adjusted to accommodate other preferences.
| Tags | Shells |
|---|---|
| Licenses | GPL |
| Operating Systems | Unix |
| Implementation | C |
Recent releases


Release Notes: The bash completion code was changed to improve tab completion on subdirectories of the mark. First, a bug was fixed where this completion would include subdirectories of the current directory. Second, patterns with no matching subdirectories will never generate an error but simply stall completion, utilizing the bash nullglob option. A bug in the string library, unlikely to have affected apparix, was fixed. Users may choose to only update the bash functions.


Release Notes: Apparix now acts by default as a drop-in replacement for cd and can be used in the same manner, including the special behavior for cd without argument and "cd -". Bookmarks, subdirectories of the bookmark, and directories specified in the regular way can all be navigated and completed transparently. This merging of cd with bookmarks can be customized to a large extent.


Release Notes: The options to squash bookmarks based on repeated mark or repeated destination have been redesigned. They no longer work globally, but act by specification of a mark. Removed bookmarks are now by default echoed to STDOUT in the form of apparix statements that will reimport them, making it easier to undo unwanted removals by cutting and pasting. It is now possible to have different apparix environments on different hosts, and it is possible to keep a log file of all apparix additions.


Release Notes: Subdirectories can be excluded from portal expansions by appropriately setting the environment variable APPARIXEXCLUDE. Apparix is now licensed under the GNU General Public License version 3.


Release Notes: Another bugfix release, as the pivotal mechanism of adding bookmarks was sadly broken in the last two releases.
Recent comments
25 Jul 2008 19:00
Re: error in apparix --shell-examples
> In this function there is an extra then,
> there is one on the end of line 5 and
> one on line 6. I removed the one on line
> 6 in my .bashrc to get it to work.
> --snip--
Indeed. Thanks for the bug report. I've fixed it and released
a new apparix. In slightly bad form it has the exact same
version number and simply overwrites the buggy version.
25 Jul 2008 18:21
error in apparix --shell-examples
In this function there is an extra then, there is one on the end of line 5 and one on line 6. I removed the one on line 6 in my .bashrc to get it to work.
1. function _apparix_aliases ()
2. { cur=$2
3. dir=$3
4. COMPREPLY=()
5. if let $(($COMP_CWORD == 1)); then
6. then
7. # Below will not complete on subdirectories. swap if so desired.
8. # COMPREPLY=( $( cat $HOME/.apparix{rc,expand} | grep "j,.*$cur.*," | cut -f2 -d, ) )
9. COMPREPLY=( $( (cat $HOME/.apparix{rc,expand} | cut -f2 -d, ; ls -1p | grep '/$' | tr -d /) | grep ".*$cur.*" ))
10. else
11. dir=`apparix --try-current-first -favour rOl $dir 2>/dev/null` || return 0
12. eval_compreply="COMPREPLY=( $(
13. cd "$dir"
14. \ls -d *$cur* | while read r
15. do
a. [[ -d "$r" ]] &&
b. [[ $r == *$cur* ]] &&
c. echo \"${r// /\\ }\"
16. done
17. ) )"
18. eval $eval_compreply
19. fi
20. return 0
21. }