Provided by: wcd_5.3.4-1build2_amd64 bug

NAME

       wcd - Wherever Change Directory

       chdir for DOS and Unix

SYNOPSIS

           wcd [options] [directory]

DESCRIPTION

   Overview
       Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs
       to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case
       of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen
       interactive directory tree browser with speed search.

       Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in The Norton Utilities, Release
       4, for DOS in 1987, published by Peter Norton.

       Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell,
       OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh)
       shell and others running on any operating system.

       Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section
       LOCALIZATION.

       See section INSTALLATION how to setup wcd for personal use.

   Basic use
       By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed
       name.

       For instance this command will change to directory to the current user's "/home/user/Desktop":

           wcd Desk

       When there are multiple matches, wcd will present the user a list of all matches. The user can then make
       a selection with a few keystrokes (most of the times only one).

   Wildcards
       Wcd supports following wildcards:

           *       matches any sequence of characters (zero or more)
           ?       matches any character
           [SET]   matches any character in the specified set,
           [!SET]  or [^SET] matches any character not in the specified set.

       A set is composed of characters or ranges; a range looks like character hyphen character as in "0-9" or
       "A-Z". The "[0-9a-zA-Z_]" is the minimal set of characters allowed in the "[..]" pattern construct.
       International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the
       special syntactic significance of any of "[]*?!^-\" inside or outside a "[..]" construct and match the
       character exactly, precede the character with a backslash ("\") marker.

       Using wildcards makes powerful searching possible. For instance this matches any directory name that ends
       with "top":

           wcd *top

       Match directories that have "top" anywhere in the name:

           wcd *top*

       Match any directory name that begins with "a", "b" or "c":

           wcd [a-c]*

       It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with
       "Desk" and which path matches *me/Desk*.

           wcd me/Desk

       It is allowed to type any kind of expression with slashes and wildcards.  E.g.:

           wcd src*/*1?/a*2

   Other uses
       If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This
       behaviour can be changed with the -w option.

       The interactive directory tree browser can be started by using option -g.

           wcd -g

       Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add
       symbolic links to the treedata file while scanning the disk, but does not follow them. While following
       links wcd could end up scanning infinite loops, or scan very large portions of a network.

       Wcd can also change to directories that are not in the treedata file. E.g.:

           wcd ..

       If wcd found a match but can't change to the directory it tries to remove it from the default treedata
       file. Not from the extra treedata file. See also option -k.

       Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic.
       See options -z, -, + and =.

       In multi-user environments option -u can be used to change to directories of other users.

       On DOS and Windows systems it does not matter if you use a slash "/" or a backslash "\" as a directory
       separator.

       It is possible on DOS and Windows systems to change drive and directory in one go by preceding the
       directory name with the drive name.

           wcd d:games

   Windows UNC paths
       The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths
       without drive letter such as "\\servername\sharename". Wcd for Windows Command Prompt makes use of the
       "pushd" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and
       Cygwin UNC paths are fully supported. The current working directory can be a UNC path.

   Interfaces
       Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at
       compile time.

       The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to
       choose from the list by typing a number followed by <Enter>. This interface does not provide scroll back
       functionality in case of a long list. The scroll back capability of the terminal/console has to be used.
       It is very small and portable.

       The second interface is built with the conio library. It provides a builtin scroll back capability. The
       user is presented a list numbered with letters.  Choosing from a list can be done by pressing just one
       letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after
       exiting. One who prefers to type numbers can use the -N option.

       The third interface is built with the curses library. It is similar to the conio interface. The curses
       version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a
       full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can
       be activated with option -g.

       By using the -o option one can always fall back to the stdin/stdout interface.

OPTIONS

       -a  Add current path to the default treedata file.

           Use  this  option  to  quickly  add  the  current  path to the default treedata file. Re-scanning the
           complete disk can take a long time in some cases.

       -aa Add current and all parent paths to the default treedata file.

       -A PATH
           Scan directory tree from PATH and append to the default treedata file. Examples:

               wcd -A .
               wcd -A /home -A /etc
               wcd -A d: -A e: -A \\server\share

           On Windows one can scan all shared directories of a Windows LAN server by typing something like: "wcd
           -A \\servername".

           See also option -S and -s and -E.

       -b  Ban current path.

           Wcd places the current path in the ban file.  This  means  that  wcd  ignores  all  matches  of  this
           directory and its sub directories.

           The  ban  file  can be edited with a text editor. Use of wildcards is supported and names are matched
           against the absolute path.

           Banned paths are not excluded from scanning the disk. To do that use option -xf.

       -c, --direct-cd
           Direct CD mode. By default wcd works as follows:

               1. Try to find a match in the treedata file(s)
               2. If no match, try to open the directory you typed.

           In direct CD mode wcd works in reversed order.

               1. Try to open the directory you typed.
               2. If not, try to find a match in the treedata file(s).

       -d DRIVE
           Set drive for stack and go file (DOS only).

           The stack file and the go-script are by default stored on drive C: if environment  variable  HOME  is
           not  set.  Use this option if drive C: is a read-only drive. This option must be used in front of the
           stack options -, + and =.

       -e  Add current path to the extra treedata file.

           Use this option to quickly add the current path to the extra treedata file.

       -ee Add current and all parent paths to extra treedata file.

       -E PATH
           Scan directory tree from PATH and append to Extra treedata file. See also options -A and -S.

       -f FILE
           Read treedata file FILE. Do not read the default treedata file.

       +f FILE
           Read treedata file FILE in addition to the default treedata file.

       -g  Graphical interface (only in version with curses interface).

           Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a  full-
           screen interactive directory tree browser. It has a vim(1) like navigation and search method.

           If  no  search  string is given wcd presents the whole tree which is in the default treedata file and
           the extra treedata files.

           If a search string is given the match list is presented as a directory tree.

           The default tree layout is similar to the tree layout of the original NCD on DOS. The  difference  in
           layout  is  that  in NCD all directories of a same depth level were vertically aligned over the whole
           tree. This was possible in NCD, because the maximum width of a directory name in  DOS  was  12  (8.3)
           characters.  On modern operating systems directory names can be very long, so also the differences in
           length can be large. Therefore folders with a same depth are not vertically aligned  over  the  whole
           tree  in  wcd,  but only in sub-branches.  So there is some sideways movement when moving straight up
           and down from one sub-branch to another sub-branch.

           The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you  push
           the Down key you go down to the next directory with the same depth level, jumping over branches. This
           enables fast navigation through the tree.

           See options -Ta, -TC, and -Tc to change the navigation behaviour.

       -gd Dump the treedata files as a tree to stdout.

       -G PATH
           Write  go-script  in  directory  PATH.  For  instance  on  Unix, "wcd -G PATH" will write a go-script
           PATH/wcd.go.

       -GN, --no-go-script
           Do not create go-script. This option can be used in combination with the option -j if  one  does  not
           want wcd to create a go-script.

       -h, --help
           Show help and exit.

       -i, --ignore-case
           Ignore  case.   Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case
           by default.

       +i, --no-ignore-case
           Regard case. See also option -i.

       -I, --ignore-diacritics
           Ignore diacritics for Latin-based scripts.  Letters with diacritical marks match  their  base  letter
           without  diacritical  mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250,
           CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A,  and  Latin  Extended-B.   See
           also <http://en.wikipedia.org/wiki/Diacritic>

       +I, --no-ignore-diacritics
           Regard diacritics (default). See also option -I.

       -j, --just-go
           Just go mode.

           In this mode wcd will not present a list when there is more than one directory that matches the given
           directory.  Wcd  will  just  change  to  the  first  option.  When wcd is invoked again with the same
           arguments it will change to the next option, and so on.

           Wcd will print the directory to go to to stdout. So a different installation method can be used.  One
           could make the following function for a POSIX compatible shell:

               wcd ()
               {
                   cd "$($HOME/bin/wcd.exe -j $@)"
               }

           When  you  are using an old shell that doesn't support "$()" command substitution you have to use old
           style command substitution with back-quotes.

               wcd ()
               {
                   cd "`$HOME/bin/wcd.exe -j $@`"
               }

           On Windows systems, if one is running 4NT shell, one could make the following alias:

               alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

           This method eliminates the need of the go-script, so one can use option -GN in combination with -j.

       -k, --keep-paths
           Keep paths.

           Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd  is  that
           it  tries  to  remove  paths  from  the treedata when wcd can't change to them. With this option this
           behavior is turned off.

       -K, --color
           Use colors in graphical mode.

       -l ALIAS
           Name the current path with ALIAS. Wcd places the current path with alias ALIAS  in  the  alias  file.
           Aliases are case sensitive.

       -ls Show the name of the alias file, and list all the aliases.

       -m DIR
           Make directory and add to treedata file.

       -L, --license
           Print the distribution license.

       -M DIR
           Make directory and add to extra treedata file.

       -n PATH
           Read relative treedata file from PATH.

           Do  not  read  the default treedata file. The relative treedata file should already have been created
           using the wcd +S option.  PATH may also point to a file directly.

           An example. Suppose another system has been mounted to mount point "/mnt/network":

               wcd -n /mnt/network src

           Wcd opens the relative treedata file in "/mnt/network/". The file contains the  paths  relative  from
           that point.

       +n PATH
           Read relative treedata file in addition to the default treedata file. See option -n.

       -N, --numbers
           Use numbers instead of letters.

           Wcd  with a conio or curses based interface (see section Interfaces) presents a match list by default
           numbered with letters. When the -N option is used the match list is numbered with numbers. Regardless
           of the -N option one can type a letter or numbers to make a selection from the list of matches.

       -o  Use stdin/stdout interface.

           When for some kind of reason the conio or curses interface of wcd does not work one can fall back  to
           the stdin/stdout interface of wcd by using the -o option.

       -od, --to-stdout
           Dump all matches to stdout.

       -q, --quiet
           Quieter operation. Printing of the final match is suppressed.

       -r DIR
           Remove directory and remove from the treedata file.

           If the directory is empty, wcd will remove it, and try to remove it from the treedata file.

       -rmtree DIR
           Recursively remove directory and remove from the treedata file.

           Wcd  will remove the directory and all its sub directories and files, and remove the directories from
           the treedata file.

       -s  (re)Scan disk from $HOME directory. If HOME is not defined the disk is scanned from root directory /.

           The existing default treedata file is overwritten.

           The default scan directory  can  be  overruled  with  environment  variable  "WCDSCAN".  See  section
           ENVIRONMENT VARIABLES.

       -S PATH
           Scan  directory  tree from PATH and overwrite the default treedata file.  See also options -A, -s and
           -E. E.g. with option -A you can create a default treedata file of your choice. Examples:

           Unix:

               wcd -S /
               wcd -S /home -A /etc -A /usr

           DOS/Windows:

               wcd -S c:/
               wcd -S c: -A d: -A \\server\share

           With the Windows versions one can scan all shared directories of  a  Windows  LAN  server  by  typing
           something like: "wcd -S \\servername".

       +S PATH
           Scan  disk  from PATH and place relative paths in a relative treedata file.  This file is used by the
           -n and +n options of wcd. E.g. "wcd -n PATH src".

       -t  Do not strip tmp mount dir "/tmp_mnt" (Unix only)

           Wcd strips by default "/tmp_mnt/" from the match. Directory "/tmp_mnt" is used by  the  auto-mounter.
           This behaviour can be turned off with the -t option.

       -T, --ascii-tree
           Draw  tree  with  ASCII  characters.  Use  this  option  if line drawing characters are not displayed
           properly in your terminal.

       -Ta, --alt-tree-nav
           Alternative way of navigation in the graphical tree.

           In the default NCD style tree layout the -Ta option disables jumping to unrelated directories.

           In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers
           such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected  folder  one
           line up or down. Pressing Left first folds the sub-folders and the next move left moves really left.

           You can switch on-the-fly between default and alternative navigation by pressing <Shift-A>.

           When alternative navigation mode is on, you will see an "A" in the lower right corner.

       -TC, --center-tree
           Centered  view  in  the graphical tree. The selected directory stays in the middle of the screen. The
           centered mode can also be switched on and off with key <t> in the graphical tree.

           The standard non-centered behaviour, which minimises tree movement, is the same as  in  the  original
           NCD.

       -Tc, --compact-tree
           By  default  the  'graphical'  tree is drawn the same way as the original NCD on DOS did it. On DOS a
           directory path could only be 66 characters in total. With the deep directory structures of today  the
           tree  can  become very wide. To overcome this wcd can draw the tree in a compact way, similar to most
           GUI file managers, with only one folder per line. Use option -Tc or switch on-the-fly  with  the  <m>
           key.

       -Td, --cjk-width
           Legacy  East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing
           symbols with a column width of 2, while the normal Unicode width for these characters  is  1  column.
           For  instance  the  Chinese  CP936  raster font on Windows and the Simsun font. Use this option for a
           correct outlining of the graphical tree when a legacy CJK font is used.

           When CJK mode is on, you will see a "C" in the lower right corner.

       -u USER
           Scan treedata file of another user based on USER, do not scan your own  default  treedata  file.  See
           also section ENVIRONMENT VARIABLES for WCDUSERSHOME.

           On  Unix/Cygwin  the base directory for user home directories is assumed to be "/home". Wcd will look
           for "/home/USER/.treedata.wcd" and "/home/USER/.wcd/.treedata.wcd", in that order, and read the first
           one that exists and is readable.  On DOS/Windows the base directory  for  user  home  directories  is
           assumed    to    be    "\\users",    so   wcd   tries   to   read   "\\users\USER\treedata.wcd"   and
           "\\users\USER\.wcd\treedata.wcd".

       +u USER
           Read default treedata file of USER in addition to your own treedata file.

       -v, --verbose
           Display verbose messages. With this option wcd prints all filters, bans and excludes.

       -V, --version
           Print version information and exit.

       -w, --wild-match-only
           Wild matching only. Treat all matches as wild matches.

       -x PATH
           Exclude PATH from scanning.

           When this option is used wcd will exclude PATH and all its subdirectories  when  wcd  is  scanning  a
           disk.  Wildcards  are  supported  and  matched against absolute paths. Option -x can be used multiple
           times.

               wcd -x <path1> -x <path2> -s

           Option -x must be used in front of any scan option (-s, -S, +S, -A, -E).

           On DOS/Windows systems one must specify the drive letter depending on if environment variable HOME or
           WCDHOME is set. If HOME or WCDHOME is set one needs to specify the drive letter. An example:

               wcd -x c:/temp -S c:

           Otherwise do not specify drive letter.

               wcd -x /temp -s

       -xf FILE
           Exclude all paths listed in FILE from scanning.

           When this option is used wcd will exclude all paths listed in FILE and all their subdirectories  when
           wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path
           per  line.  Be  aware that wcd will not ignore leading or trailing blanks on a line, because they are
           legal characters in a directory name. Option -xf can be  used  multiple  times.  When  one  wants  to
           exclude all banned paths from scanning one can do the following (example for wcd on unix):

               wcd -xf ~/.ban.wcd -s

           Wildcards  are supported. For instance to exclude all your Subversion directories with administrative
           files add a line with "*/.svn".

           Option -xf must be used in front of any scan option (-s, -S, +S, -A, -E).

       -y, --assume-yes
           Assume Yes on all queries.

           Wcd will not prompt the user with  yes/no  questions,  but  assumes  the  user  answers  yes  on  all
           questions.  This can be used in combination with option -rmtree. This option must be used in front of
           options that can lead to yes/no questions.

       -z NUMBER
           Set maximum stack size to NUMBER.

           The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This
           option must be used in front of any other stack operations (-,+,=). Otherwise the size of  the  stack
           will be set back to the default 10.

           A correct command is:

               wcd -z 50 -

           The new stack size will be 50, wcd will go one directory back. A wrong command is:

               wcd - -z 50

           Wcd goes one directory back, the stack gets the default size 10. The -z 50 is ignored.

           Add  this  option as the first option to your wcd alias or function. E.g.  for the a POSIX compatible
           shell this would be:

               wcd ()
               {
                   wcd.exe -z 50 "$@"
                   . ${WCDHOME:-${HOME}}/bin/wcd.go
               }

       -[NUMBER]
           Push dir NUMBER of times. Default is one.

           Go back a directory. Command "wcd -" goes one directory back. To  go  more  directories  back  add  a
           number to it. E.g. command "wcd -3". The stack is cyclic.

       +[NUMBER]
           Pop dir NUMBER of times. Default is one.

           Go  forward  a  directory. Command "wcd +" goes one directory forward. To go more directories forward
           add a number to it. E.g. command "wcd +2". The stack is cyclic.

       =   Show stack.

           Use this option if you do not know anymore how many times to push or pop.  The stack is  printed  and
           you can choose a number. The current place in the stack is marked with an asterisk "*".

INSTALLATION

       The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore
       the program is always called by a function or an alias. The function or alias sources a shell script (go-
       script) which is generated by the wcd program. Wcd can only work after the function or alias is defined.

       Another  important  influence  on  your  installation is the definition of environment variables HOME and
       WCDHOME. See section ENVIRONMENT VARIABLES.

   Install for POSIX type shells
       For a POSIX shell (ksh, bash, zsh, etc.) on Unix,  Linux,  Cygwin,  or  native  MSYS  add  the  following
       function to the shell startup file (e.g. Bash uses "$HOME/.bashrc"):

           wcd ()
           {
               <PATH>/wcd.exe "$@"
               . ${WCDHOME:-${HOME}}/bin/wcd.go
           }

       Replace  PATH  with  the  location  where  the  wcd  executable  has  been  installed.  Reload  the shell
       initialization files or start new shell.

       The location of the go-script "wcd.go" differs per shell.

       Wcd for DJGPP DOS bash requires a different function. The go script is not written in a directory  "bin",
       and if WCDHOME and HOME are both not defined the go-script is written on c:/.

           wcd ()
           {
               <PATH>/wcd.exe "$@"
               . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
           }

       The WinZsh version of wcd is also a bit different. No "bin" directory.

           wcd ()
           {
               <PATH>/wcd.exe "$@"
               . ${WCDHOME:-${HOME}}/wcd.go
           }

       See section FILES for more information.

   Install for C-alike shells (csh, tcsh)
       Add the following alias to the shell startup file "$HOME/.cshrc" or "$HOME/.tcshrc" :

           if ( ${?WCDHOME} ) then
               alias wcd "<PATH>/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
           else
               alias wcd "<PATH>/wcd.exe \!* ; source $HOME/bin/wcd.go"
           endif

       Replace  PATH  with  the  location  where  the  wcd  executable  has  been  installed.   Reload the shell
       initialization files or start a new shell.

   Windows Command Prompt version
       Unpack the zip file and add directory "bin" to your environment variable PATH.

       In Windows Command Prompt a Windows program cannot change the current work directory,  but  a  .bat  file
       can.  The batch scrip "wcd.bat" runs the wcd program which generates a new batch script "wcdgo.bat". Then
       "wcd.bat" runs "wcdgo.bat" which actually changes the directory.

   Windows VISTA and higher
       In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to
       more directories you need administrator rights. You can get a Command Prompt with administrator rights if
       you right click on the Command Prompt icon and select Run as administrator.

   Windows PowerShell version
       Add the following function to your PowerShell user profile. The location of this profile is stored in the
       $profile variable. It is required that one of the environment variables HOME or WCDHOME is defined.

           function wcd
           {
               <PATH>\wcdwin32psh.exe $args
               & $env:HOME\wcdgo.ps1
           }

       Replace PATH with the location where the wcd executable has been installed.  Start a new PowerShell.  Wcd
       for PowerShell supports only the file system provider. No other providers.

   OS/2 Command Prompt version
       In  an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why
       wcd generates a command script "wcdgo.cmd" which must be  executed  in  the  current  shell.  The  script
       "wcd.cmd"  first executes "wcdos2.exe", which creates the "wcdgo.cmd" script. Then "wcd.cmd" executes the
       "wcdgo.cmd" script.

LOCALIZATION

       LANG
           The primary language is selected with the environment variable LANG. The LANG variable  consists  out
           of  several  parts.  The first part is in small letters the language code. The second one is optional
           and is the country code in capital letters, preceded with an underscore. There is  also  an  optional
           third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:

               export LANG=nl               Dutch
               export LANG=nl_NL            Dutch, The Netherlands
               export LANG=nl_BE            Dutch, Belgium
               export LANG=es_ES            Spanish, Spain
               export LANG=es_MX            Spanish, Mexico
               export LANG=en_US.iso88591   English, USA, Latin-1 encoding

           For    a   complete   list   of   language   and   country   codes   see   the   gettext(1)   manual:
           <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes> On Unix systems you can  use
           to command locale(1) to get locale specific information.

       LANGUAGE
           With  the  LANGUAGE  environment  variable you can specify a priority list of languages, separated by
           colons. Wcd gives preference to LANGUAGE over LANG.  For  instance,  first  Dutch  and  then  German:
           "LANGUAGE=nl:de".  You  have to first enable localization, by setting LANG or LC_ALL to a value other
           than C, before you can use a language priority list through  the  LANGUAGE  variable.  See  also  the
           gettext(1) manual: <http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable>

           If you select a language which is not available you will get the standard English messages.

       WCDLOCALEDIR
           With  the environment variable WCDLOCALEDIR the LOCALEDIR used during compilation and installation of
           wcd can be overruled. LOCALEDIR is used by wcd with native language  support  to  find  the  language
           files.  The  GNU  default  value  is "/usr/local/share/locale". By typing "wcd -V" wcd will print the
           LOCALEDIR that is used.

           If you have installed wcd in a different directory than the default directory you may need to set the
           environment variable WCDLOCALEDIR to point to the locale directory.

           An example for Windows cmd:

               set WCDLOCALEDIR=c:/my_prefix/share/locale

           An example for a POSIX shell:

               export WCDLOCALEDIR=$HOME/share/locale

       LC_COLLATE
           When there are multiple directory matches wcd presents a sorted list.  The  sorting  depends  on  the
           locale  settings.  If  the  environment LANG has been set the matches are sorted like dictionaries or
           phone books are sorted in that language. For instance dots and dashes are ignored, or letters e  with
           and without accent are equal, or upper and lower case is ignored.

           The  sorting  gives  preference  to environment variable LC_COLLATE over LANG. If you make LC_COLLATE
           equal to "C" or "POSIX", locale sorting is turned off. For instance if you want Dutch  language,  but
           not Dutch sorting, you can do something like this:

               export LANG=nl_NL
               export LC_COLLATE=C

       LC_CTYPE
           With  regard  to  character  encoding  Wcd  will  give preference to variable LC_CTYPE over LANG. For
           instance to set character encoding to UTF-8 the following environment setting can be done.

               export LC_CTYPE=en_US.UTF-8

       LC_ALL
           All locale environment variables that start with LC_ are overruled by the environment variable LC_ALL
           if it is defined. Wcd gives preference to LC_ALL over LC_COLLATE and LC_CTYPE.

   WINDOWS CODE PAGES
       There are two groups of code pages: DOS code pages (OEM) and  Windows  code  pages  (ANSI).  The  default
       encoding  for  Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs,
       for instance notepad, use this default system ANSI code page. The Windows console uses by default an  OEM
       code  page  (CP437  or  CP850)  for compatibility with DOS programs. If you use a DOS version of wcd in a
       Windows console it will work, because of the DOS code page.  But the DOS version of wcd lacks support for
       long directory names and network drives on Windows.

       The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So
       on a Western regional Windows it will use code page CP1252 for directory names and messages. In order  to
       get  consistent  output,  independent of the active code page, all Windows versions of Wcd translate ANSI
       output to Unicode output in the Command Prompt and PowerShell.

       The console raster font only supports the original OEM code page installed with Windows, so you  have  to
       change  the  console's  font  to  true  type  Lucida  Console  to  make Unicode (and ANSI) letters appear
       correctly.

       Non-Unicode versions of Wcd prior to version 5.2.0 use plain ANSI output.  For these older  versions  the
       code  page  of the console has to be made equal to the system code page (changed to 1252) to make wcd for
       Windows work properly with special characters such as accented characters or the Euro symbol.

       The Windows system code page can be changed via the Control Panel regional options. The  Windows  console
       code page is changed with the "chcp" command.

       When  you  type  "wcd -V", the actual character encoding used by wcd is shown. Type the command "chcp" to
       display the active code page of the Windows console.

   UNICODE
       Wcd has optional support for Unicode. To see if wcd was built with Unicode support type "wcd -V". If your
       terminal/console and font supports it, you should see the Euro symbol and  Chinese  characters  (meaning:
       "Chinese").

       Wcd  has  been soft converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the
       lines printed to screen are on the fly converted to Unicode wide characters. Wcd  fully  relies  on  libc
       functions and has no UTF-8 specific code. See also <http://www.cl.cam.ac.uk/~mgk25/unicode.html>

       Wcd  has  optional  support  for  Unicode  matching  with  normalisation.  To  find  out  whether Wcd has
       normalisation support type "wcd -V".  Wcd with Unicode normalization support  will  match  Unicode  names
       based  on  compatible equivalence. Without Unicode normalization support, names are matched when they are
       binary equivalent.  See also <http://en.wikipedia.org/wiki/Unicode_normalization>

       UTF-8 on Unix/Linux

       In order to view UTF-8 characters your console/terminal also needs to support UTF-8.  The  xterm  version
       that  comes  with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8
       locale and use a font with iso10646-1 encoding, for instance with

           LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

       Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character  encodings  should
       also work, but that has not been tested.

       Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order
       Marks written to treedata files.

       UTF-16 on Windows

       On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7
       (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older
       Windows versions (XP/Vista).

       On  Windows  all  the  directory  names  on  disk are encoded in UTF-16 Unicode.  For non-Unicode Windows
       programs the Unicode characters are translated to the default ANSI code page. For characters that are not
       part of the regional setting this translation is not possible and non-Unicode programs print  a  question
       mark or a wrong character instead.

       Wcd  with  Unicode  support  will read the UTF-16 encoded directory names and converts them internally to
       UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode  version  of  Wcd.
       Wcd will create a go-script encoded in UTF-8.

       All  versions  of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8
       BOM in the script.

       Since Windows 7 it is possible in Windows Command Prompt to change directory with a  batch  script  to  a
       directory  with  Unicode  letters  in  the name. The directory name needs to be encoded in UTF-8, and the
       batch script must not have a BOM. The active code page of the Command Prompt needs to  be  set  to  65001
       (UTF-8)  prior  to  the  cd  command. Wcd for Command Prompt will create such a go script "wcdgo.bat". It
       first changes the code page to 65001, then changes directory, and finally sets the code page back to  the
       original code page.

       You  need  to  set  the  font  to  True  Type  Lucida Console (not raster font) when letters don't appear
       correctly.

       The non-Unicode Windows version of Wcd can read Unicode treedata  files  since  version  5.2.0,  provided
       there is a Byte Order Mark (BOM) in the file (see <http://en.wikipedia.org/wiki/Byte_order_mark>), but it
       can't change to directories with Unicode letters in the name that are not part of the default system ANSI
       code  page.  The  Unicode  Windows  version of wcd writes a BOM in the UTF-8 encoded treedata files since
       version 5.2.0, which makes them also readable by notepad.

       UTF-8 on Cygwin

       Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the  Windows  UTF-16  Unicode
       names  are  converted  to  UTF-8.  So programs, like wcd, do not need to be aware of this and can operate
       using UTF-8 encoding as on Unix/Linux. Set  character  encoding  to  UTF-8  with  the  LANG  or  LC_CTYPE
       environment  variable.  You  may need to rescan your drives. You need to set the font to True Type Lucida
       Console (not raster font) if you use the default Cygwin console.

       The Cygwin version behaves exactly as the Unix version of wcd.  There is no BOM written in  the  treedata
       files, and it is assumed they are encoded in the Cygwin locale character encoding.

FILES

       If  the  environment  variable WCDHOME is set wcd will use WCDHOME instead of HOME. All "*.wcd" files are
       text files. They can be edited with a text editor.  The Windows Command Prompt version of wcd behaves  as
       the DOS version. The Cygwin version of wcd behaves as the Unix version.

       wcd.exe
           The  program. In Unix shells the program is always called by a function or alias, because the current
           working directory of a Unix shell can only be changed by the builtin cd  command.  See  also  section
           INSTALLATION.

       default treedata file
           This  is  the  default  treedata  file where wcd searches for matches. If it is not readable wcd will
           create a new one.

               DOS: \treedata.wcd or %HOME%\treedata.wcd
               Unix: $HOME/.treedata.wcd

       extra treedata file
           An optional extra treedata file. If it exists and is readable wcd will try to find  matches  in  this
           file also.

               DOS: \extra.wcd or %HOME%\extra.wcd
               Unix: $HOME/.extra.wcd

       ban file
           In this optional file wcd places banned paths. See option -b. Wildcards are supported.

               DOS: \ban.wcd or %HOME%\ban.wcd
               Unix: $HOME/.ban.wcd

       alias file
           Optional file with wcd aliases. See option -l.

               DOS: \alias.wcd or %HOME%\alias.wcd
               Unix: $HOME/.alias.wcd

       stack file
           In this file wcd stores its stack. The drive letter can be changed with the -d option.

               DOS: c:\stack.wcd or %HOME%\stack.wcd
               Unix: $HOME/.stack.wcd

           The  name  of  the  stack  file  can  be changed with environment variable WCDSTACKFILE.  See section
           ENVIRONMENT VARIABLES.

       go-script
           This is the shell script which wcd.exe creates each time. It is sourced via a function or  an  alias.
           The  drive  letter can be changed with the -d option.  For history reasons it is placed by default in
           "$HOME/bin" on Unix systems. The directory of this file can be changed with the option -G.

               DOS bash: c:/wcd.go or $HOME/wcd.go
               Windows Command Prompt: c:\wcdgo.bat or %HOME%\wcdgo.bat
               Windows PowerShell: $env:HOME\wcdgo.ps1
               WinZsh: $HOME/wcd.go
               Cygwin/MSYS: $HOME/bin/wcd.go
               OS/2 Command Prompt: c:\wcdgo.cmd or %HOME%\wcdgo.cmd
               Unix: $HOME/bin/wcd.go

       relative treedata file
           Text file with relative paths from DIR. See options +S, -n and +n.

               DOS: <path>\rtdata.wcd
               Unix: <path>/.rtdata.wcd

ENVIRONMENT VARIABLES

       HOME
           Wcd uses by default environment variable HOME to determine where to store its files. See also section
           FILES. This can be overruled with environment variable WCDHOME.

           HOME also defines where to start scanning the disk when option -s is used. This can be overruled with
           the environment variable WCDSCAN.

           For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that HOME or WCDHOME
           is set. For the other versions of wcd the use of these variables is optional.

           If HOME is set on DOS/Windows, wcd will place all  its  files  (treedata.wcd,  extra.wcd,  alias.wcd,
           ban.wcd,  wcd.go)  in  directory HOME. The behaviour of wcd is then equal to the Unix version of wcd.
           Wcd will scan the disk default from HOME. Drives will not be automatically  scanned  by  changing  to
           them. You need to tell wcd explicitly. E.g.:

               wcd -S c: -A d: -A e:

           Matching of directories is now global over all scanned drives.

       WCDHOME
           Environment  variable  WCDHOME  can  be  used to change the location of wcd's files. If both HOME and
           WCDHOME are set, WCDHOME will be used instead of HOME.

           In wcd versions prior to 5.1.5 WCDHOME also changed the default scan directory.   This  has  changed.
           Since  version  5.1.5 WCDHOME does not change the default scan directory. See option -s. From version
           5.1.5, use environment WCDSCAN to overrule the default scan directory.

           Example for DOS, Windows, OS/2 Command Prompt:

               set WCDHOME=C:\Users\erwin\wcd

           An example for POSIX type shells:

               export WCDHOME="$HOME/.wcd"

           An example for Csh type shells:

               setenv WCDHOME "$HOME/.wcd"

       WCDSCAN
           Use environment variable WCDSCAN to  overrule  the  default  scan  directory  HOME.  Define  a  colon
           separated  list  (Unix)  to  define more than one directory.  On DOS/Windows make the list semi-colon
           separated.

           Examples for DOS, Windows, OS/2 Command Prompt:

               set WCDSCAN=C:\Users\erwin;D:\data

               set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX

           An example for POSIX type shells:

               export WCDSCAN="$HOME:/projectdisk/projectX"

           An example for Csh type shells:

               setenv WCDSCAN "$HOME:/projectdisk/projectX"

       WCDFILTER
           Specify filters with environment variable WCDFILTER. All directories that do not match the  filter(s)
           are  ignored.  A  list can be specified by separating filters by the shell path separator. Similar as
           specifying the PATH variable.  The case sensitivity is mandated by the Operating system.

           An example for DOS, Windows, OS/2 Command Prompt:

               set WCDFILTER=projects;doc

           An example for POSIX type shells:

               export WCDFILTER="projects:doc"

           An example for Csh type shells:

               setenv WCDFILTER "projects:doc"

       WCDBAN
           The paths specified with environment WCDBAN will be banned by wcd.  See also  option  -b.  Specify  a
           list of paths separated by shell PATH separator.

       WCDEXCLUDE
           The paths specified with environment WCDEXCLUDE will be excluded by wcd. See also options -x and -xf.
           Specify a list of paths separated by shell PATH separator.

           An example for DOS, Windows, OS/2 Command Prompt:

               set WCDEXCLUDE=*/windows;*/temp;*CVS

           An example for POSIX type shells:

               export WCDEXCLUDE="/dev:/tmp:*CVS"

           An example for Csh type shells:

               setenv WCDEXCLUDE "/dev:/tmp:*CVS"

       WCDUSERSHOME
           Set  the  base  of  user's  home  directories.   On  DOS/Windows  the default value is "\\users".  On
           Unix/Cygwin the default value is "/home".  This variable is used to  scan  treedata  files  of  other
           users. See also options -u and +u. In verbose mode wcd will print all filters, bans and excludes. See
           option -v.

       WCDSTACKFILE
           Wcd  gives preference to WCDSTACKFILE over the default stack file name (see section FILES). With this
           variable each shell (or used terminal emulator) can have its private stack of used directories.

           To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell.

               export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

           For a stack per xterm(1), use the xterm WINDOWID environment variable:

               export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

           For GNU screen(1), to use stack per screen:

               export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW

       TERMINFO
           If the environment variable TERMINFO is defined, wcd  with  ncurses  interface  checks  for  a  local
           terminal definition before checking in the standard place. This is useful if terminal definitions are
           not   on   a   standard   place.   Often   used   standard   places   are   "/usr/lib/terminfo"   and
           "/usr/share/terminfo".

       PDC_RESTORE_SCREEN
           Wcd  with  PDCurses  interface  recognizes  the  environment  variable  PDC_RESTORE_SCREEN.  If  this
           environment variable is set, PDCurses will take a copy of the contents of the screen at the time that
           wcd is started; when wcd exits, the screen will be restored.  An example for Windows Command Prompt:

               set PDC_RESTORE_SCREEN=1

           Windows  allows  only a small buffer to be saved. So it is not always possible to restore everything.
           Some garbage data may be printed in the console after wcd exists if  you  have  set  a  large  buffer
           width.

       SHELL
           Printing  of  "#!$SHELL" on the first line of the go-script for POSIX type shell or C shell is needed
           for 8 bit characters. Some shells otherwise think that the go-script is a binary file  and  will  not
           source  it.  In Cygwin Bash the variable SHELL must be set in environment using the "export" command,
           otherwise wcd can't read the variable.

       BASH
           Wcd for DOS bash uses $BASH instead of $SHELL, because $SHELL points to the DOS  command  shell.  One
           may need to define $BASH with an "export" command, otherwise wcd can't read the variable.

SEE ALSO

       sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

AUTHORS

       Wcd was written by Erwin Waterlander <waterlan@xs4all.nl>

       Project homepage: <http://waterlan.home.xs4all.nl/>

       SourceForge: <http://sourceforge.net/projects/wcd/>

       The manual page formatting was provided by Jari Aalto <jari.aalto@cante.net>.

       NCD  was originally written by Brad Kingsbury for Peter Norton's "Norton Utilities" around 1987. See also
       <http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml>

wcd                                                2018-03-04                                             wcd(1)