76 | 76 |
tt(/) then all expansions are performed from the system's root
|
77 | 77 |
directory. E.g., tt(xd /t) results in tt(/tmp) but not in tt(/home/user/tmp).
|
78 | 78 |
it() Initial character bf(.): If the first character of the command is
|
79 | |
tt(.) then all expansions are performed from the user's home directory. E.g.,
|
80 | |
tt(xd .t) results in tt(/home/user/tmp) but not in tt(/tmp)
|
|
79 |
tt(.) then by default all expansions are performed from the user's home
|
|
80 |
directory. E.g., tt(xd .t) results in tt(/home/user/tmp) but not in
|
|
81 |
tt(/tmp). The home directory recognition character can be altered using the
|
|
82 |
tt(--homedir-char) option, see below (section bf(OPTIONS)).
|
81 | 83 |
it() Initial character bf(0): If the first character of the command is
|
82 | 84 |
tt(0), then all expansions start at the current working directory. In fact,
|
83 | 85 |
this is a specialization of the following, more general form:
|
|
88 | 90 |
tt(xd 2lb) will offer the alternative tt(/usr/local/bin): two steps up, then
|
89 | 91 |
look for directories starting with tt(l) and therein directories starting with
|
90 | 92 |
tt(b).
|
91 | |
it() Separators (space, and the forward slash (tt( ), and /)):
|
92 | |
sometimes it is clear that there are many alternatives and the intention is to
|
93 | |
reduce that number. By using separators subsequently nested directories must
|
94 | |
start with the characters between the separators. E.g., tt(xd u l bi) never
|
95 | |
produces the alternative tt(/usr/lib/base-config) anymore, since
|
96 | |
tt(base-config) does not start with tt(bi). In this case only
|
97 | |
tt(/usr/local/bin) is produced. When used as initial character in a pattern
|
98 | |
the forward slash always indicates the root-directory.
|
|
93 |
it() Separators (space, and the forward slash (`tt(/)'): sometimes it is
|
|
94 |
clear that there are many alternatives and the intention is to reduce that
|
|
95 |
number. By using separators subsequently nested directories must start with
|
|
96 |
the characters between the separators. E.g., tt(xd u l bi) never produces the
|
|
97 |
alternative tt(/usr/lib/base-config) anymore, since tt(base-config) does not
|
|
98 |
start with tt(bi). In this case only tt(/usr/local/bin) is produced. When used
|
|
99 |
as initial character in a pattern the forward slash always indicates the
|
|
100 |
root-directory.
|
99 | 101 |
COMMENT(
|
100 | 102 |
Separators may be mixed (tt(xd u/l bi) is identical to tt(xd u l
|
101 | 103 |
bi)). Since the tt(/) can also be used as a root-directory specification,
|
|
215 | 217 |
the list of alternatives. There is also a configuration file directive
|
216 | 218 |
tt(directories) (see below).
|
217 | 219 |
|
|
220 |
it() loption(homedir-char) tt(ch)nl()
|
|
221 |
By default an initial dot character (`tt(.)') initiates a search from
|
|
222 |
the user's home directory. There is a slight disadvantage to using the dot, as
|
|
223 |
it is also be the initial character of `hidden' directories. Assuming that you
|
|
224 |
have a directory tt(~/.ssh) then the command to xd to that directory would be
|
|
225 |
tt(xd ..s), the first dot being the home directory indicator, after which
|
|
226 |
tt(.s) is used to find tt(.ssh). The option tt(--homedir-char) can be used to
|
|
227 |
specify another character. Homedir characters cannot be digits or a slash
|
|
228 |
(`tt(/)') as these are used to specify, respectively, parent directories and
|
|
229 |
the computer's root directory. Characters like ``tt(, @ % ^)'' or maybe
|
|
230 |
`tt(H)' (assuming that it doesn't interfere with an existing directory
|
|
231 |
beginning with tt(H)) could be used as homedir-characters, other than the
|
|
232 |
default dot character.
|
|
233 |
|
|
234 |
Caveat: command shells by default interpret characters like ``tt(~ $ \ ' " ` <
|
|
235 |
> |)'' etc., which therefore should probably not be specified as
|
|
236 |
home directory specifiers.
|
|
237 |
|
|
238 |
There is also a configuration file directive tt(homedir-char) (see below).
|
|
239 |
|
218 | 240 |
it() loption(generalized-search) soption(g)nl()
|
219 | 241 |
When this option is specified bf(xd) uses GDS unless the
|
220 | 242 |
directive tt(traditional) is specified in the configuration file.
|
|
332 | 354 |
performed if the initial search (starting at the user's home directory) did
|
333 | 355 |
not yield any directory.nl()
|
334 | 356 |
If it is specified as tt(never) no additional search is
|
335 | |
performed.nl()
|
|
357 |
performed.
|
|
358 |
|
336 | 359 |
This directive is overruled by the tt(---add-root) command line option.
|
337 | 360 |
|
338 | 361 |
it() bf(directories) tt(which) (all)nl()
|
339 | 362 |
Directories may be also be reached via symbolic links. The
|
340 | 363 |
specification tt(all) will add these symbolic links to the list of
|
341 | 364 |
alternatives. The specification tt(unique) will prevent the symbolic links
|
342 | |
from being added to the list of alternatives.nl()
|
|
365 |
from being added to the list of alternatives.
|
|
366 |
|
343 | 367 |
This directive is overruled by the tt(---directories) command line option.
|
|
368 |
|
|
369 |
it() bf(homedir-char) tt(ch)nl()
|
|
370 |
By default an initial dot character (`tt(.)') initiates a search from
|
|
371 |
the user's home directory. There is a slight disadvantage to using the dot, as
|
|
372 |
it is also be the initial character of `hidden' directories. Assuming that you
|
|
373 |
have a directory tt(~/.ssh) then the command to xd to that directory would be
|
|
374 |
tt(xd ..s), the first dot being the home directory indicator, after which
|
|
375 |
tt(.s) is used to find tt(.ssh). The specification tt(homedir-char ch) can be
|
|
376 |
used to specify another home directory indicating character tt(ch), as in:
|
|
377 |
verb(
|
|
378 |
homedir-char ,
|
|
379 |
)
|
|
380 |
Homedir characters cannot be digits or a
|
|
381 |
slash (`tt(/)') as these are used to specify, respectively, parent directories
|
|
382 |
and the computer's root directory. Characters like ``tt(, @ % ^)'' or maybe
|
|
383 |
`tt(H)' (assuming that it doesn't interfere with an existing directory
|
|
384 |
beginning with tt(H)) could be used as homedir-characters, other than the
|
|
385 |
default dot character.
|
|
386 |
|
|
387 |
Caveat: command shells by default interpret characters like ``tt(~ $ \ ' " ` <
|
|
388 |
> |)'' etc., which therefore should probably not be specified as
|
|
389 |
home directory specifiers.
|
|
390 |
|
|
391 |
This directive is overruled by the tt(---homedir-char) command line option.
|
344 | 392 |
|
345 | 393 |
it() bf(generalized-search) nl()
|
346 | 394 |
When this directive is specified bf(xd) will use GDS by default.
|
|
406 | 454 |
matching any of the tt(ignore) directives (with the tt(*) interpreted as `any
|
407 | 455 |
further directory name' specification) it will not display that path in its
|
408 | 456 |
list of alternatives.
|
|
457 |
|
409 | 458 |
This directive is overruled by the tt(---all) command line option.
|
410 | 459 |
|
411 | 460 |
it() bf(start-at) tt(value) (home) nl()
|
|
413 | 462 |
are tt(home) and tt(root). When tt(home) is specified all searches start at
|
414 | 463 |
the user's home directory. When tt(root) is specified searches start at the
|
415 | 464 |
disk's root (tt(/)) directory. If the directory is omitted or if another value
|
416 | |
is specified then the default is used, which is tt(home). This directive is
|
417 | |
overruled by the tt(---start-at) command line option.
|
|
465 |
is specified then the default is used, which is tt(home).
|
|
466 |
|
|
467 |
This directive is overruled by the tt(---start-at) command line option.
|
418 | 468 |
|
419 | 469 |
it() bf(traditional) nl()
|
420 | 470 |
This directive may be used to request the use of bf(xd)'s traditional
|
|
509 | 559 |
manpagesection(ABOUT xd)
|
510 | 560 |
|
511 | 561 |
The program bf(xd) was initially (before 1994) written for the MS-DOS
|
512 | |
platform. In 1994 it was designed to work under Unix (Linux, AIX) and it was
|
513 | |
converted to bf(C++). The original bf(C++) code is still available
|
514 | |
(tt(https://oosix.icce.rug.nl/svnroot/xd/tags/start/xd/)) and is funny to look
|
515 | |
at as it is a remarkable illustration of bf(C++) code written by bf(C)
|
516 | |
programmers who had just learned about bf(C++). Versions tt(2.x) have been
|
517 | |
used until 2008, and in late August 2008 I rewrote bf(xd) completely,
|
518 | |
reflecting my current views about bf(C++), resulting in versions tt(3.x.y) and
|
519 | |
beyond. The tt(3.x.y) and later versions extensively use the facilities
|
520 | |
offered by the bf(bobcat)(7) library.
|
|
562 |
platform. In 1994 it was redesigned to work under Unix (Linux, AIX) and it was
|
|
563 |
converted to bf(C++). The original bf(C++) code is still available from tag
|
|
564 |
tt(start) (tt(https://gitlab.com/fbb-git/xd/tags), find the tt(start) tag and
|
|
565 |
download) and is funny to look at as it is a remarkable illustration of
|
|
566 |
bf(C++) code written by bf(C) programmers who had just learned about
|
|
567 |
bf(C++). Versions tt(2.x) were used until 2008, and in late August 2008 I
|
|
568 |
rewrote bf(xd) completely, reflecting my then views about bf(C++), eventually
|
|
569 |
resulting in versions tt(3.x.y) and beyond. The tt(3.x.y) and later versions
|
|
570 |
extensively use the facilities offered by the bf(bobcat)(7) library.
|
521 | 571 |
|
522 | 572 |
manpagesection(ACKNOWLEDGEMENTS)
|
523 | 573 |
|