Provided by: cdargs_1.35-12build1_amd64 bug

NAME

       cdargs - bookmarks and browser for cd shell built-in

SYNOPSIS

       cdargs [OPTIONS]
       function cv () {
           cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`" ;
       }
       cv [Needle]

DESCRIPTION

       With  cdargs  you  can  jump  to various places throughout the file-system that are defined using a plain
       text, line oriented bookmarks file.

       You can create bookmarks by editing your bookmarks file "$HOME/.cdargs" using your  favorite  editor,  by
       using the "--add" option to cdargs or by using the built-in mechanism that will be described later.

       While  you  are  in  cdargs  you  can use various commands to navigate through your list of bookmarks and
       through the file-system. These are described below in the section "COMMANDS". The most commonly used  and
       most  obvious  commands  are the up/down keys for navigation, "ENTER" for selection of a path and "q" for
       quit.

       To be able to actually use this program together with the shell built-in "cd"  command  you  must  use  a
       little  trick  by  defining a shell function. Of course the syntax for this is different between the csh-
       like shells (like tcsh) and the sh-like shells (like bash).

       For sh-like shells:
       function cv () {
           cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`" ;
       }

       For csh-like shells:
       alias cv 'cdargs \!* && cd `cat $HOME/.cdargsresult`'

       Now you only have to put the cdargs binary somewhere into your path.

       Of course you can create functions and/or aliases for different purposes. You might want  to  add  a  pwd
       call  to  echo your current directories or put --nowrap in your functions to enable a different scrolling
       behavior. See section SHELL FUNCTIONS below.

       Since version 1.19 cdargs brings a collection of bash functions (and since 1.20 tcsh aliases,  too)  with
       it.  You  only have to source this in your ~/.profile or ~/.bashrc (or ~/.tcsh) and you get nice kinds of
       magic prepared (completion...). Please read the cdargs-bash.sh or cdargs-tcsh.csh  respectively  for  the
       documentation of these functions.

COMMAND-LINE OPTIONS

       You  can  call  cdargs  with a few options, but otherwise you probably won't call it directly but via the
       function you defined.

       -h or --help
              display usage information and exit.

       -v or --version
              output version information and exit.

       -a or --add=[:desc:]path
              add path to the bookmarks list using the optional desc as description string.

       -f or --file=FILE
              uses the given FILE as bookmarks file

       -u or --user=USER
              read the default bookmarks file of USER. Won't modify that file.

       -o or --output=FILE
              use FILE as the result-file (who knows what The World might make of  this  feature  that  I  can't
              imagine...)

       -b or --browse
              start cdargs in BROWSE mode in the current directory.

       -r or --noresolve
              Don't  exit  with a result when the Needle matches a description exactly (which is some every-day-
              magic) but show a list (even if it contains just one entry).

       -c or --cwd
              Make the current working directory the current entry on startup if it appears on the list.

       --nowrap
              Don't wrap the cursor around when hitting the end of the list.

       Needle The Needle performs some magic which I hope improves the usage of cdargs.

              The Needle is examined in the following order and the first thing that fits is taken.

              If Needle is a one-digit integer the appropriate entry is preselected.

              Otherwise if Needle is a string each entry of the list is checked whether it contains Needle.

              Then Needle has two functions:
              If it just matches a substring of either path or description that option is placed in the list.

              If it exactly matches a description string this is the result (that means cdargs closes the curses
              window, exits and the changing of directories takes place).

              If it doesn't match a line, that line won't be displayed.

              And  to  make things even more complicated you can affect this behavior by using the "--noresolve"
              option. This option is used when you think you give a Needle which  matches  descriptions  exactly
              but  you  don't  want  it  to be resolved if it does. This option is internally turned on when you
              delete an entry (otherwise the deletion of entries until only one entry  is  left  would  lead  to
              resolving) or when the bookmarks file contains only one entry.

              Finally,  if the filtered list (but not the bookmarks file) contains only one entry it is selected
              and the program exits successfully, unless you chose --noresolve.

              I can only hope that you understand this nested if babble...

              Please note, that the existence of a Needle disables the saving of the list  at  the  end  of  the
              program.

COMMANDS

       When you are in cdargs you have two modes and several commands at your hands.

       The  two  modes are LIST (when your bookmark list is displayed) and BROWSE (when you navigate through the
       file-system).

       The navigation keys are mostly available in Emacs and vi style for all maniacs out there.

       Common Keys

       <UP>/<DOWN> or k/j or C-n/C-p
              move selection up/down and scroll.

       <ENTER>
              select current entry.

       <TAB>  toggle modes: LIST or BROWSE.

       <HOME>/<END> or C-a/C-e
              goto first/last entry in list.

       c      add current directory to list.

       C      add current directory to list but ask the user for a description

       <PgUp>/<PgDown> or C-v
              Scroll the list in 10-line-steps.  This will never wraparound and does not honor the nowrap-option

       e, v   edit the list in $EDITOR.

       H, ?   show the help-screen.

       ~, /   browse home/root directory.

       q      quit - saving the list.

       C-c, C-g, C-[
              abort - don't save the list.

       Keys in BROWSE mode

       <LEFT>, h, C-b
              descent into current directory.

       <RIGHT>, l, C-f
              up one directory.

       [num]  make [num] the current highlighted entry

       a      add current entry to list.

       A      add current entry to list but ask the user for a description, just like with 'c' and 'C'.

       .      toggle display of hidden files.

       Keys in LIST mode

       [num]  select and resolve entry [num] if displayed.

       <LEFT>, h, C-b
              descent into the current entry.

       <RIGHT>, l, C-f
              up one directory from current dir.

       d or C-d
              delete current entry from list.

       s or t swap (transpose) two entries of the list.

       M or m move an entry up or down in the list and set the current  position  afterwards  so  that  repeated
              keystrokes keep moving the same entry up and down.

SHELL FUNCTIONS

       In  addition to the shell function mentioned above you might wish to add other commands to your function.
       One example is to echo the directory you changed to:

       function cv () {
           cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`"
                       && pwd;
       }

       Or you can remove the file in which cdargs reports it's result:

       function cv () {
           cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`"
                       && rm -f "$HOME/.cdargsresult";
       }

       Since version 1.19 cdargs comes with a file of preset functions  for  bash:  see  cdargs-bash.sh  in  the
       distribution.  From  now on you only have to source that file if you are using a sh-like shell.  Then you
       can use the shell completion to switch directories even faster by typing

       cv [TAB]

       Since version 1.20 cdargs comes with a file of rudimentary aliases (and completion) for the tcsh.
       Any volunteers for porting all the bash functionality to tcsh are welcome.

DISPLAY

       The cdargs window has one line at the bottom for the display of messages like when you added to your list
       or when you hit an unknown key.

       The  second line from the bottom is a status line which shows the current directory and a one letter code
       for the current operation mode:

       B      for BROWSE

       L      for LIST

       The largest part of the display is used to show you either the list of your bookmarks or the contents  of
       the  current  directory.  On the left side you'll probably find a number which you can use for a slightly
       quicker jumping compared to using the cursor movement. These numbers can be  moved  as  described  above.
       Next comes the short description of an entry in brackets. This is convient when you have quite long paths
       in your bookmarks and most of them start with the same base (e.g.   /home/user).  Finally  there  is  the
       actual absolute path you'll be warping to when finishing. Obviously the current entry is highlighted.

       If  the  path  is  preced  by a "!" it points to an invalid directory. A bookmark pointing to the current
       working directory is displayed in bold font (if the terminal emulation understands that attribute).

FILES

       /usr/bin/cdargs the cdargs executable.

       $HOME/.cdargs
              personal bookmarks file.

       $HOME/.cdargsresult
              temporary file for passing results to shell.

       /usr/share/doc/cdargs/examples/cdargs-bash.sh
              example collection of bash functions.

       /usr/share/doc/cdargs/examples/cdargs-tcsh.csh
              example collection of tcsh functions.

       /usr/share/emacs/site-lisp/cdargs.el
              (X)Emacs front-end to personal bookmarks file

REPORTING BUGS

       Report bugs to <mail@skamphausen.de>.

AUTHOR

       cdargs was written by Stefan Kamphausen with add-ons by Claus Brunzema.  Many user-interface improvements
       came from Dan Allen.

SEE ALSO

       The current version of cdargs is located at

              http://www.skamphausen.de/software/cdargs

       You might want to visit that site. Other than that pressing the 'H' key in cdargs fires up a help screen.

COPYRIGHT

       Copyright © 2001-2003 Stefan Kamphausen

       cdargs  is  free  software;  you  can redistribute it and/or modify it under the terms of the GNU General
       Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
       option) any later version.

       This  program  is  distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
       the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General  Public
       License for more details.

       You  should  have  received a copy of the GNU General Public License along with this program. If not, see
       <http://www.gnu.org/licenses/>.

                                                   March 2002                                          CDARGS(1)