home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 3: Developer Tools
/
Linux Cubed Series 3 - Developer Tools.iso
/
utils
/
file
/
managers
/
git-4.3
/
git-4
/
git-4.3.7
/
info
/
git.info-1
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
Macintosh to JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
GNU Info File
|
1995-07-16
|
49.4 KB
|
1,515 lines
This is Info file git.info, produced by Makeinfo-1.55 from the input
file ./git.texinfo.
START-INFO-DIR-ENTRY
* GIT: (git). GNU Interactive Tools
END-INFO-DIR-ENTRY
GIT: A set of interactive tools, by Tudor Hulubei and Andrei Pitis.
This file documents the GNU Interactive Tools package.
Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
File: git.info, Node: Top, Next: Introduction, Up: (dir)
`GIT' is a package containing basically a file system browser, a
process viewer/killer and a ASCII/HEX file viewer. This is edition
2.1, for GNU Interactive Tools version 4.3.7.
* Menu:
* Introduction:: An introduction to GIT concepts.
* Distrib:: How to get the latest GIT distribution.
* Key Index:: An item for each standard GIT key sequence.
* Command Index:: An item for each command name.
* Variable Index:: An item for each documented variable.
* Concept Index:: An item for each concept.
* Description:: How to use GIT.
* Customization:: How to customize GIT.
* Limitations:: Known GIT limitations.
* Bugs:: How to report a bug.
File: git.info, Node: Introduction, Next: Distrib, Prev: Top, Up: Top
Introduction
************
`GIT' is a set of interactive tools. It contains an extensible file
system browser, an ascii/hex file viewer, a process viewer/killer and
some other related utilities and shell scripts. It can be used to
increase the speed and efficiency of most of the daily tasks as copying
and moving files and directories, invoking editors, compressing and
uncompressing files, creating and expanding archives, compiling
programs, sending mail, etc. It looks nice, has colors (if the
standard ANSI color sequences are supported) and is user-friendly.
`GIT' runs on a wide variety of UNIX systems because it uses the
`GNU Autoconf' package to get system specific information. Please
refer to the PLATFORMS file included in the standard distribution for a
detailed list of systems on which `GIT' has been tested.
One of the main advantages of `GIT' is its flexibility. It is not
limited to a given set of commands. The configuration file can be
easily enhanced, allowing the user to add new commands or file
operations, depending on its needs or preferences.
`GIT' also provides a shell like command prompt, just to make sure
that the entire power of the UNIX shell commands is still there.
File: git.info, Node: Distrib, Next: Key Index, Prev: Introduction, Up: Top
Distributing GNU Interactive Tools
**********************************
`GIT' is "free software"; this means that everyone is free to use it
and free to redistribute it on certain conditions. `GIT' is not in the
public domain; it is copyrighted and there are restrictions on its
distribution, but these restrictions are designed to permit everything
that a good cooperating citizen would want to do. What is not allowed
is to try to prevent others from further sharing any version of `GIT'
that they might get from you. The precise conditions are found in the
GNU General Public License that comes with `GIT' and also appears
following this section.
The easiest way to get a copy of `GIT' is from someone else who has
it. You need not ask for our permission to do so, or tell any one
else; just copy it. If you have access to the Internet, you can get the
latest distribution version of `GIT' from host `prep.ai.mit.edu' using
anonymous login. See the file `/pub/gnu/GETTING.GNU.SOFTWARE' on that
host to find out about your options for copying and which files to use.
You may also receive `GNU Interactive Tools' when you buy a computer.
Computer manufacturers are free to distribute copies on the same terms
that apply to everyone else. These terms require them to give you the
full sources, including whatever changes they may have made, and to
permit you to redistribute the GNU Interactive Tools received from them
under the usual terms of the General Public License. In other words,
the program must be free for you when you get it, not just free for the
manufacturer.
File: git.info, Node: Description, Next: Customization, Prev: Concept Index, Up: Top
Using GNU Interactive Tools
***************************
The `GIT' package contains three interactive programs and a few
additional utilities. Here there is a description of each of them.
* Menu:
* git:: A file system browser.
* gitps:: A process viewer/killer.
* gitview:: An ASCII/HEX file viewer.
* gitcmp:: A file compare utility.
* gitkeys:: An utility for displaying key sequences.
* gitmatch:: An utility for file names matching.
* gitwipe:: An utility for wiping files.
* gitmount:: A script for mounting file systems.
* gitaction:: A per file type action script.
* gitredir:: A internal stdout to stderr redirection script.
* gitrgrep:: A recursive grep script.
File: git.info, Node: git, Next: gitps, Up: Description
The GIT file system browser
===========================
`git' is a file system browser with some shell features designed to
make your work much easier and much efficient. It displays one or two
panels, each one containing a file system directory. You can browse
the directory tree with the usual cursor keys, pressing `ENTER' when
you want to enter or leave a directory and `TAB' when you want to
change the panels.
Under the two panels there is a shell like input line which you can
use to type normal shell commands. The input line can handle an
unlimited number of characters and keeps a history of typed commands.
`git' uses the GNU history library for that matter.
Under the input line there is a status bar. You can see there the
status of the currently executed command, the warnings and errors and
you will be prompted if a decision has to be taken.
* Menu:
* Conventions:: Key binding conventions.
* Modes:: How panels can look like.
* Sorting:: How files can be sorted in a panel.
* Moving:: How to move the cursor in the panel.
* Selecting:: How to select (mark) files in a panel.
* Isearch:: How to search a file name in a panel.
* Input Line:: How to use the input line. Basic editing.
* Files:: How to copy/move/delete/compress/... files.
* Directories:: How to operate with directories.
* Compiling:: How to compile programs.
* Mail:: How to sending/receive ascii/binary mail.
* Shell:: How to start a sub-shell.
* Grep:: How to use grep/recursive grep.
* Locking:: How to lock your console.
* Refreshing:: How to refresh the screen contents.
* Reseting:: How to reset your terminal.
* Mounting:: How to mount/unmount a file system.
* Sysinfo:: How to get some useful system information.
* Environment:: How to look at the environment variables.
* Processes:: How to view/kill processes.
* Sync:: How to synchronize your file systems.
* Documentation:: How to read documentation.
* Exit:: How to exit GNU Interactive Tools.
File: git.info, Node: Conventions, Next: Modes, Up: git
Key binding conventions
-----------------------
`git' now provides a new, easy to remember, scheme to bind commands
on keys. This is only a convention, if you define new key bindings you
may, or may not follow it.
All the file commands start with `^C'. This prefix can be followed
by some modifiers, in order to affect the default behavior of the given
command. These modifiers are `b' and `r'.
`b' - this modifier specifies that the command will run in
background:
^CM = CHMOD; chmod %s{New mode of %i: ,%m} %i;;;;y
defines a command that changes the current selected files mode in
foreground, while
^CbM = B-CHMOD; chmod %s{New mode of %i: ,%m} %i&;;;;y
defines a background command that does the same thing.
`r' - this modifier specifies that the command will be run
recursively:
^CrM = R-CHMOD; chmod -R %s{New mode of %i: ,} %i;;;;y
defines a command that recursively changes the mode of the selected
files.
The `b' and `r' modifiers can be combined, the resulting command
running recursively and in background:
^CbrM = B-R-CHMOD; chmod -R %s{New mode of %i: ,} %i&;;;;y
You should also note that for some commands (like `gzip') there is
no need for a non-recursive version. Running `gzip' recursively on
files is harmless. If there is a directory between these files, `gzip'
will recursively compress that directory, so you can use the same key
binding for recursively and non-recursively compressing. In fact, it is
a matter of selecting files or directories.
Other programs are less smarter than `gzip'. We can't run `chmod'
recursively trying to change the mode of all the files in a directory
to 644 because that directory might contain subdirectories and removing
the execution permission from them is a bad idea. So, in this case, we
need separate commands.
File: git.info, Node: Modes, Next: Sorting, Prev: Conventions, Up: git
Panel modes
-----------
`git' has three major modes of displaying the panels. In the first
(default) mode, two panels are displayed, each one using half of the
screen. In the second mode, only one panel uses the entire screen. In
the third mode, only the status bar, the input line and the clock are
displayed, all the panels being hidden.
Briefly, a panel can use the entire screen or just half of it. Even
when a panel is hidden, it still exists.
Users can switch between these three major modes as needed:
`^X 0'
Enlarges the other panel to use the entire screen. It also changes the
minor mode to `Display all'. The current panel will become
invisible (`enlarge-other-panel').
`^X 1'
Enlarges the current panel to use the entire screen. It also changes the
minor mode to `Display all'. The other panel will become invisible
(`enlarge-panel').
`^X 2'
Switches back to the two panel mode (`two-panel-mode').
`^O', `ESC o'
Switches to the tty mode (no panels on the screen) (`tty-mode').
Basically a panel displays the files and directories in a directory.
You can optionally specify some additional information about each entry
(file, directory, ...) to be displayed (a minor mode).
When using the full screen mode, all the minor modes here can be
used. In half screen mode, the `panel-display-all' mode is not
available.
These are the panel minor modes:
`ESC d o'
Displays the entry owner and group (`panel-display-owner-group').
`ESC d d'
Displays the entry date and time (`panel-display-date-time').
`ESC d s'
Displays the entry size (`panel-display-size').
`ESC d m'
Displays the entry mode (`panel-display-mode').
`ESC d f'
Displays the entry full name (`panel-display-full-name').
`ESC d a'
Displays the entire information about file (`panel-display-all').
This mode is only available if the panel has been enlarged to use the
entire screen with `enlarge-panel' or `enlarge-other-panel'
(`panel-display-all').
There is also another way to change the panel minor modes:
`^]'
Switches to the next panel minor mode (`panel-display-next-mode').
File: git.info, Node: Sorting, Next: Moving, Prev: Modes, Up: git
Sorting methods
---------------
Entries in a panel can be sorted in different ways. These are the
available options:
`ESC s n'
Displays the panel entries sorted by their names (`panel-sort-by-name').
`ESC s e'
Displays the panel entries sorted by their extensions
(`panel-sort-by-extension').
`ESC s s'
Displays the panel entries sorted by their sizes (`panel-sort-by-size').
`ESC s d'
Displays the panel entries sorted by their `last modified' stamps
(`panel-sort-by-date').
`ESC s m'
Displays the panel entries sorted by their modes (`panel-sort-by-mode').
`ESC s o i'
Displays the panel entries sorted by their owner ids
(`panel-sort-by-owner-id').
`ESC s g i'
Displays the panel entries sorted by their group ids
(`panel-sort-by-group-id').
`ESC s o n'
Displays the panel entries sorted by their owner names
(`panel-sort-by-owner-name').
`ESC s g n'
Displays the panel entries sorted by their group names
(`panel-sort-by-group-name').
There is also another way to change the sort method:
`ESC s u'
Switches to the next panel sort method (`panel-sort-next-method').
File: git.info, Node: Moving, Next: Selecting, Prev: Sorting, Up: git
Moving the cursor in the panel
------------------------------
Moving the cursor in the panel is very easy. If your keyboard has
arrows, use them. If the arrow keys don't work (it might be due to a
badly configured TERM environment variable), you can use the Emacs
commands bindings as well.
`UP', `^P'
Moves the cursor vertically up one entry (`previous-line').
`DOWN', `^N'
Moves the cursor vertically down one entry (`next-line').
`HOME', `ESC <'
Moves the cursor on the first entry in the panel (`beginning-of-panel').
`END', `ESC >'
Moves the cursor on the last entry in the panel (`end-of-panel').
`PGUP', `ESC v'
Moves the cursor vertically down one page (`scroll-down').
`PGDOWN', `^V'
Moves the cursor vertically down one page (`scroll-up').
`^X P'
In order to optimize the screen output, you can modify the
scroll step (`set-scroll-step'). This is the number of lines to
try scrolling a panel when the cursor moves out. The
`StartupScrollStep' specifies the initial scroll step, but using
`set-scroll-step' you can dynamically change it.
`TAB', `^I', `^X o'
Moves the cursor in the other panel (`other-panel').
`^X P'
Switch the two panels. This command works even when `git' is
not in the `two panels' mode (`switch-panels').
File: git.info, Node: Selecting, Next: Isearch, Prev: Moving, Up: git
Selecting files
---------------
`INS', `^T', `^X \', `^\'
Toggle the `selected' flag of the current file (`select-file').
`^C s'
Selects (marks) all the files matching a pattern
(`select-files-matching-pattern'). The user will be prompted
for a pattern to match against.
`^C u'
Unselects (unmarks) all the files matching a pattern
(`select-files-matching-pattern'). The user will be prompted
for a pattern to match against.
File: git.info, Node: Isearch, Next: Input Line, Prev: Selecting, Up: git
Incremental searching files in a panel
--------------------------------------
Users sometime need to search a file in a panel, especially when the
panel contains a big number of entries. For that reason `git' provides
an incremental search feature. Using forward and backward incremental
search, files can be very easy located. Wrapped incremental search is
also provided.
`^S', `^Xs'
Incremental searches forward a file in the current panel
(`isearch-forward'). Pressing `^S' or `^Xs'
again will force `git' to go to the next entry that matches the
current isearched string. When the end of the panel is reached,
the isearch is restarted from its beginning.
`^R', `^Xr'
Incremental searches backward a file in the current panel
(`isearch-backward'). Pressing `^R' or `^Xr'
again will force `git' to go to the next entry that matches the
current isearched string. When the beginning of the panel is reached,
the isearch is restarted from its end.
File: git.info, Node: Input Line, Next: Files, Prev: Isearch, Up: git
Using the input line
--------------------
The input line is one of the main methods used by `git' to interact
with the user. All the answers the user should give in order to perform
some operation and all the shell like commands are built using it. So
here is a description of all the basic editing operations that the
`input line' provides. They are very much inspired from `Emacs', so
`Emacs' users should have no problem using them.
* Menu:
* Inserting Text:: Inserting text by simply typing it.
* Moving Point:: How to move the cursor to the place where you
want to change something.
* Erasing:: Deleting and killing text.
* History:: Reusing recent input line arguments.
* Setting Mark:: Commands to set the mark.
* Yanking:: Reinserting recently killed text.
File: git.info, Node: Inserting Text, Next: Moving Point, Up: Input Line
Inserting Text
..............
Typing characters is the most usual way of inserting text into the
input line. Key sequences starting with printable ascii characters are
not allowed in `git' so typing `a' for example results in inserting `a'
at the current point position. Of course, there are some other ways of
inserting text into the command line and here there is a description of
most of them.
`ESC RET'
Copies the current file name into the input line at the current point
position (`file-to-input-line').
`ESC ESC RET'
Copies the other panel path into the input line at the current point
position (`other-path-to-input-line').
`^X ^G'
Copies the names of all the selected files into the input line at the
current point position (`selected-files-to-input-line').
File: git.info, Node: Moving Point, Next: Erasing, Prev: Inserting Text, Up: Input Line
Moving Point
............
`^B', `LEFT'
Moves the point backward one character (`backward-char').
`^F', `RIGHT'
Moves the point forward one character (`forward-char').
`ESC b'
Moves the point one word backward (`backward-word').
`ESC f'
Moves the point one word forward (`forward-word').
`^A'
Moves the cursor at the beginning of the input line (`beginning-of-line').
`^E'
Moves the cursor at the end of the input line (`end-of-line').
File: git.info, Node: Erasing, Next: History, Prev: Moving Point, Up: Input Line
Deleting and killing text
.........................
`DEL', `^D'
Deletes the character under the cursor (`delete-char').
`^H', `BKSPC'
Deletes the character before the cursor (`backward-delete-char').
`ESC BKSPC'
Deletes backward one word (`backward-kill-word').
`ESC k'
Deletes the entire line (`kill-line').
`^U'
Deletes all the characters between the beginning of the input line and
the point (`kill-to-beginning-of-line').
`^K'
Deletes all the characters between the point and the end of the input line
(`kill-to-end-of-line').
`ESC SPC'
Deletes all the spaces around the point, leaving only one space
(`just-one-space').
`ESC \'
Deletes all the spaces around the point (`delete-horizontal-space').
`^W'
Saves the region between the point and the mark into the kill "ring" and
then kills it (`kill-region'). Note that there is no real
kill-ring here. The so-called kill-ring has only one entry.
`ESC w'
Saves the region between the point and the mark without killing it
(`kill-ring-save').
File: git.info, Node: History, Next: Setting Mark, Prev: Erasing, Up: Input Line
Reusing recent input line arguments
...................................
A separate history is kept for both built-in and user-defined
commands. If you call a command that you have used before, you can
re-edit a previously entered string in order to minimize the amount of
characters needed to be typed for the new one. There is no limit on
the number of strings that can be kept in the history.
`ESC p'
Walks backward through the history of previously entered strings
(`previous-history-element').
`ESC n'
Walks forward through the history of previously entered strings
(`next-history-element').
File: git.info, Node: Setting Mark, Next: Yanking, Prev: History, Up: Input Line
Commands to set the mark
........................
`^SPC'
Sets the mark at the current point position (`set-mark').
`^X ^X'
Exchange the current point position with the mark one
(`exchange-point-and-mark').
File: git.info, Node: Yanking, Prev: Setting Mark, Up: Input Line
Reinserting recently killed text
................................
`^Y'
Reinserts a previously killed text at the current point position (`yank').
File: git.info, Node: Files, Next: Directories, Prev: Input Line, Up: git
File operations
---------------
* Menu:
* Copying Files:: How to copy files.
* Moving Files:: How to move files.
* Creating Files:: How to create new files.
* Deleting Files:: How to delete files.
* Linking Files:: How to create hard and symbolic links.
* Renaming Files:: How to rename a file.
* Inode:: How to change a file inode mode, owner, group.
* Editing Files:: How to edit and create files. Default editor.
* Viewing Files:: How to view files. Default viewer.
* Compressing Files:: How to compress and decompress files.
* Encoding Files:: How to uuencode/uudecode a file.
* Encrypting Files:: How to encrypt/decrypt files with pgp.
* Comparing Files:: How to compare two files.
* Spelling Files:: How to spell a file.
* Wiping Files:: How to wipe a file.
* Searching Files:: How to search a file.
* Archive Files:: How to manage tar based archive files.
* Actions:: A different action for each file type.
File: git.info, Node: Copying Files, Next: Moving Files, Up: Files
Copying Files
.............
`F5', `^C C'
Copies the currently selected files and directories to the user supplied
path (`copy').
`^C b C'
Copies the currently selected files and directories to the user supplied
path. The operation is performed in background (`B-COPY').
File: git.info, Node: Moving Files, Next: Creating Files, Prev: Copying Files, Up: Files
Moving Files
............
`F6', `^C T'
Moves the currently selected files and directories to the user supplied
path (`move').
`^C b T'
Moves the currently selected files and directories to the user supplied
path. The operation is performed in background (`B-MOVE').
File: git.info, Node: Creating Files, Next: Deleting Files, Prev: Moving Files, Up: Files
Creating Files
..............
The easiest way to create a new file is to start an editor and put
something in it. *Note Editing Files::, for more information.
File: git.info, Node: Deleting Files, Next: Linking Files, Prev: Creating Files, Up: Files
Deleting Files
..............
`F8', `^C D'
Deletes the currently selected files and directories (`delete').
`^C b D'
Deletes the currently selected files and directories. The operation
is performed in background (`B-DELETE').
File: git.info, Node: Linking Files, Next: Renaming Files, Prev: Deleting Files, Up: Files
Linking Files
.............
`^C H'
Creates a hard link from the current files to a user supplied file
name (`LINK').
`^C b H'
Creates a hard link from the current files to a user supplied file
name (`B-LINK'). The action is performed in background.
`^C S'
Creates a symbolic link from the current files to a user supplied file
name (`SYMLINK').
`^C b S'
Creates a symbolic link from the current files to a user supplied file
name (`B-SYMLINK'). The action is performed in background.
File: git.info, Node: Renaming Files, Next: Inode, Prev: Linking Files, Up: Files
Renaming Files
..............
`^C R'
Renames the current file or directory with the user supplied name
(`RENAME').
`^C b R'
Renames the current file or directory with the user supplied name.
The operation is performed in background (`B-RENAME').
File: git.info, Node: Inode, Next: Editing Files, Prev: Renaming Files, Up: Files
Changing a file's inode mode, owner and group
.............................................
`^C M'
Changes the mode of the currently selected files inodes (`CHMOD').
`^C b M'
Changes the mode of the currently selected files inodes. The operation
is performed in background (`B-CHMOD').
`^C r M'
Recursively changes the modes of the selected files inodes if one of
them is a directory (`R-CHMOD').
`^C b r M'
Recursively changes the modes of the selected files inodes if one of
them is a directory. The operation is performed in background
(`B-R-CHMOD').
`^C O'
Changes the owner of the currently selected files inodes (`CHOWN').
`^C b O'
Changes the owner of the currently selected files inodes. The operation
is performed in background (`B-CHOWN').
`^C r O'
Recursively changes the owners of the selected files inodes if one of
them is a directory (`R-CHOWN').
`^C b r O'
Recursively changes the owners of the selected files inodes if one of
them is a directory. The operation is performed in background
(`B-R-CHOWN').
`^C G'
Changes the group of the currently selected files inodes (`CHGRP').
`^C b G'
Changes the group of the currently selected files inodes. The operation
is performed in background (`B-CHGRP').
`^C r G'
Recursively changes the groups of the selected files inodes if one of
them is a directory (`R-CHGRP').
`^C b r G'
Recursively changes the groups of the selected files inodes if one of
them is a directory. The operation is performed in background
(`B-R-CHGRP').
File: git.info, Node: Editing Files, Next: Viewing Files, Prev: Inode, Up: Files
Editing Files
.............
`F4'
Calls the default editor with the current file name as an argument
(`EDIT').
`^X e'
Calls the default editor with the selected files names as arguments
(`MULTIPLE-EDIT').
`^X ^F'
Creates a new file by calling the default editor with the user supplied
file name as an argument (`FILE-CREATE').
`^X 4 a'
Calls the default editor in order to edit the `ChangeLog' file
(`CHANGE-LOG').
The default editor can be specified using the EDITOR or GIT_EDITOR
environment variables. *Note Environment Variables::, for more
information.
File: git.info, Node: Viewing Files, Next: Compressing Files, Prev: Editing Files, Up: Files
Viewing Files
.............
`F3', `^X h'
Calls the default viewer (`gitview') with the current file name as
argument (`VIEW').
`^X v'
Calls the default pager (`more') with the currently selected file
names as arguments (`MULTIPLE-VIEW').
File: git.info, Node: Compressing Files, Next: Encoding Files, Prev: Viewing Files, Up: Files
Compressing Files
.................
`^C z'
Compresses the currently selected files and directories (`COMPRESS').
`^C b z'
Compresses the currently selected files and directories. The operation
is performed in background (`B-COMPRESS').
`^C Z'
Uncompresses the currently selected files and directories (`UNCOMPRESS').
`^C b Z'
Uncompresses the currently selected files and directories. The
operation is performed in background (`B-UNCOMPRESS').
File: git.info, Node: Encoding Files, Next: Encrypting Files, Prev: Compressing Files, Up: Files
Encoding Files
..............
`^C e'
Encodes the currently selected file (`UUENCODE').
`^C b e'
Encodes the currently selected file. The operation is performed in
background (`B-UUENCODE').
`^C E'
Decodes the currently selected file (`UUDECODE').
`^C b E'
Decodes the currently selected file. The operation is performed in
background (`B-UUDECODE').
File: git.info, Node: Encrypting Files, Next: Comparing Files, Prev: Encoding Files, Up: Files
Encrypting Files
................
`^C p'
Encrypts (using `pgp') the current file (`ENCRYPT').
`^C P'
Decrypts (using `pgp') the current file (`DECRYPT').
File: git.info, Node: Comparing Files, Next: Spelling Files, Prev: Encrypting Files, Up: Files
Comparing Files
...............
`^C ='
Compares (using `diff') the current ASCII file with the other panel
current file (`DIFF'). If both entries are directories, a
recursive diff is performed.
`^C ESC ='
Compares (using `diff') the current ASCII file with its latest backup.
The latest backup is the file having the same name and a '~' at the end
(`LAST-BACKUP-DIFF').
`^C B'
Compares the current file with the other panel current file. A binary
comparison is performed (`BINARY-COMPARE').
File: git.info, Node: Spelling Files, Next: Wiping Files, Prev: Comparing Files, Up: Files
Spelling Files
..............
`^X I'
Runs the `ispell' command with the current file name as an argument.
File: git.info, Node: Wiping Files, Next: Searching Files, Prev: Spelling Files, Up: Files
Wiping Files
............
`^C W'
Calls `gitwipe' to wipe the selected files. Asks for confirmation
before actually wiping them in order to avoid errors (`WIPE').
*Note gitwipe::, for more information.
File: git.info, Node: Searching Files, Next: Archive Files, Prev: Wiping Files, Up: Files
Searching Files
...............
`ESC %'
Searches files on the file system, starting from the current directory
(`FIND').
`^X w'
Locates the binary, source, and manual page files for a command
(`WHEREIS').
`^X W'
Locate a command; display its pathname or alias (`WHICH').
File: git.info, Node: Archive Files, Next: Actions, Prev: Searching Files, Up: Files
Managing tar based archive files
................................
`^C a'
Creates a `tar' archive containing all the currently selected files
and directories (`TAR').
`^C b a'
Creates a `tar' archive containing all the currently selected files
and directories. The operation is performed in background (`B-TAR').
`^C A'
Expands the `tar' archive pointed by the cursor into the current
directory (`UNTAR').
`^C b A'
Expands the `tar' archive pointed by the cursor into the current
directory. The operation is performed in background (`B-UNTAR').
`^C x'
Creates a compressed `tar' archive containing all the currently
selected files and directories (`TAR-COMPRESS').
`^C b x'
Creates a compressed `tar' archive containing all the currently
selected files and directories. The operation is performed in
background (`B-TAR-COMPRESS').
`^C X'
Expands the compressed `tar' archive pointed by the cursor into the
current directory (`UNCOMPRESS-UNTAR').
`^C b X'
Expands the compressed `tar' archive pointed by the cursor into the
current directory. The operation is performed in background
(`B-UNCOMPRESS-UNTAR').
File: git.info, Node: Actions, Prev: Archive Files, Up: Files
A different action for each file type
.....................................
Many files on `UNIX' systems have one or more extensions specifying
their types. For example, a file that ends in `.c' is a file
containing a `C' program, while a file ending in `.tar.gz' is a `tar'
archive compressed with the `gzip' utility. Having a default action
for each file type, binded on the same key, seems to be a good idea
because you can use that key to obtain type specific information about
a file or to process it in some type specific way much easier. The
`GIT' package contains a script called `gitaction' and a file name
match utility called `gitmatch' that are used together to detect the
current file type and perform a type specific action. *Note
gitaction::, for more information.
`F2', `^X a'
Performs an action on the current file, depending on its type
(`FILE-ACTION').
File: git.info, Node: Directories, Next: Compiling, Prev: Files, Up: git
Directory operations
--------------------
* Menu:
* Creating Dirs:: How to create new directories.
* Copying Dirs:: How to copy directories.
* Deleting Dirs:: How to delete directories.
* Moving Dirs:: How to move directories.
* Renaming Dirs:: How to rename directories.
* Dirs Usage:: Summarize directory usage.
* Changing Dirs:: How to go to a new directory.
* Dirs History:: How to use the directory history.
* Hot Keys:: Hot keys for the most used directories.
File: git.info, Node: Creating Dirs, Next: Copying Dirs, Up: Directories
Creating directories
....................
`F7', `^X M'
Creates a new subdirectory in the current directory with the user
supplied name (`make-directory').
File: git.info, Node: Copying Dirs, Next: Deleting Dirs, Prev: Creating Dirs, Up: Directories
Copying directories
...................
`F5 (for directories)', `^C C (for directories)'
Copies the currently selected files and directories to the user supplied
path (`copy').
`^C b C (for directories)'
Copies the currently selected files and directories to the user supplied
path. The operation is performed in background (`B-COPY').
File: git.info, Node: Deleting Dirs, Next: Moving Dirs, Prev: Copying Dirs, Up: Directories
Deleting directories
....................
`F8 (for subdirectories)', `^C D (for subdirectories)'
Deletes the currently selected files and directories (`delete').
`^C b D (for directories)'
Deletes the currently selected files and directories. The operation
is performed in background (`B-DELETE').
File: git.info, Node: Moving Dirs, Next: Renaming Dirs, Prev: Deleting Dirs, Up: Directories
Moving directories
..................
`F6 (for directories)', `^C T (for directories)'
Moves the currently selected files and directories to the user supplied
path (`move').
`^C b T (for directories)'
Moves the currently selected files and directories to the user supplied
path. The operation is performed in background (`B-MOVE').
File: git.info, Node: Renaming Dirs, Next: Dirs Usage, Prev: Moving Dirs, Up: Directories
Renaming directories
....................
`^C R (for directories)'
Renames the current file or directory with the user supplied name
(`RENAME').
`^C b R (for directories)'
Renames the current file or directory with the user supplied name.
The operation is performed in background (`B-RENAME').
File: git.info, Node: Dirs Usage, Next: Changing Dirs, Prev: Renaming Dirs, Up: Directories
Summarize directory usage
.........................
`^C U'
Displays the output of the `du -s' command on the status line
(`DIRECTORY-USAGE').
File: git.info, Node: Changing Dirs, Next: Dirs History, Prev: Dirs Usage, Up: Directories
Changing directories
....................
`^X d', `^X ^D'
Changes the current working directory. The user is asked for a new
directory name and the new directory is added to the directory history
(`change-directory').
*Note Dirs History::, for more information.
`ESC c c'
Change the current directory of the current panel to the directory of the
other panel (`conform-current-directory').
`ESC c o'
Change the current directory of the other panel to the directory of the
current panel (`conform-other-directory').
File: git.info, Node: Dirs History, Next: Hot Keys, Prev: Changing Dirs, Up: Directories
Directory History
.................
Users usually work on a limited set of subdirectories. Providing a
fast method of switching between a number of intensively used
directories seems to be a good idea and `git' has a set of builtin
commands for this.
Usually new directories are added to the directory history when the
`change-directory' built-in command is used. `git' also adds the
current directory to the history list when started, when the directory
history is reseted and when a command having a non empty `new-dir'
field successfully completes its execution. *Note new-dir::, for more
information.
`^X ^N'
Goes to the next directory in the history (`next-directory').
`^X ^P'
Goes to the previous directory in the history (`previous-directory').
`^X ^R'
Resets the entire directory history. As explained above, the current
directory becomes the only directory in the history
(`reset-directory-history').
File: git.info, Node: Hot Keys, Prev: Dirs History, Up: Directories
Hot Keys
........
`git' provides default key bindings for switching to a number of
important directories as "/", "..", "$HOME", etc.
`ESC /'
Goes to the `/' directory (`ROOT-DIR').
`ESC .'
Goes to the `..' directory (`UP-DIR').
`ESC h'
Goes to the `~' ($HOME) directory (`HOME-DIR').
`ESC i'
Goes to the `/usr/include' directory (`INCLUDE-DIR').
`ESC 1'
Goes to the `/mnt/fd0' directory (`FIRST-FLOPPY-DIR').
`ESC 2'
Goes to the `/mnt/fd1' directory (`SECOND-FLOPPY-DIR').
File: git.info, Node: Compiling, Next: Mail, Prev: Directories, Up: git
Compiling programs
------------------
`F9', `^X m'
Runs the `make' command in the current directory.
`^X b m'
Runs the `make' command in background in the current directory.
*Note gitaction::, for more information.
File: git.info, Node: Mail, Next: Shell, Prev: Compiling, Up: git
Sending/receiving ascii/binary mail
-----------------------------------
`^C 2 a'
Sends the current current ascii file by mail to an user supplied email
address.
`^C b 2 a'
The same as above, the only difference being that the command runs in
background.
`^C 2 b'
Sends the current current binary file by mail to an user supplied email
address. The file is uuencoded first.
`^C b 2 b'
The same as above, the only difference being that the command runs in
background.
`ESC x r m'
Runs the `emacs -f rmail' command. This will start the Emacs's
`rmail' function so that you can read your mail.
File: git.info, Node: Shell, Next: Grep, Prev: Mail, Up: git
Starting a sub-shell
--------------------
`^X z'
Calls a sub-shell as specified by the $GIT_SHELL environment variable
(`SUB-SHELL').
*Note Environment Variables::, for more information.
File: git.info, Node: Grep, Next: Locking, Prev: Shell, Up: git
Using grep and recursive grep
-----------------------------
`^X g'
Searches using `grep' all the selected files for a given pattern
(`GREP').
`^X g'
Searches recursively using `gitrgrep' all the user specified files
and directories for a given pattern (`RECURSIVE-GREP').
*Note gitrgrep::, for more information.
File: git.info, Node: Locking, Next: Refreshing, Prev: Grep, Up: git
Locking your console
--------------------
Having a lock feature might be a good idea and, since not all the
UNIX systems provide one, `git' tries to get around the problem ...
`^X p'
Prompts the user for a password and locks the console until the same
password is reinserted (`lock').
File: git.info, Node: Refreshing, Next: Reseting, Prev: Locking, Up: git
Refreshing the screen contents
------------------------------
Sometimes your screen needs to be refreshed. Just think about what
happens when somebody wants to talk with you and the talk daemon writes
something like this
Message from Talk_Daemon@galei.cs.vu.nl at 12:15 ...
talk: connection requested by andrei@galei.cs.vu.nl.
talk: respond with: talk andrei@galei.cs.vu.nl
on your screen. And sometimes you might also want to re-read the
current directories. `git' provides some built-in commands for
refreshing the screen contents.
`^L'
Re-read the directories contents re-displaying them using optimizations. Only
those parts of the screen that have changed are repainted (`refresh').
`^X l'
Refresh the entire screen contents without using optimizations. Useful
when some "nice" program wrote something on the screen, because `git'
has no way to detect this (`hard-refresh').
File: git.info, Node: Reseting, Next: Mounting, Prev: Refreshing, Up: git
Reseting your terminal
----------------------
`^X ^L'
Calls `reset' in order to reset the terminal to its default settings
(`TTY-RESET').
File: git.info, Node: Mounting, Next: Sysinfo, Prev: Reseting, Up: git
Mounting/unmounting file systems
--------------------------------
People dealing with lots of files usually need to save/restore/copy
files from/to other file systems. In order to be more efficient, `git'
provides a set of key bindings for mounting and unmounting file systems.
*Note gitmount::, for more information.
The default key bindings set has been designed to work under `Linux',
but it can be easily changed for other UNIX systems with different
device names. Reading the configuration file `.gitrc.common' should be
enough. *Note Hot Keys::, for more information.
As a convention, the `/mnt' directory is used to store an empty
subdirectory for each mountable file system. Each file system is
actually mounted in its counterpart `/mnt' subdirectory. Try to follow
this convention since the `gitmount' script is heavily based on it.
*Note Customization::, for more information.
`ESC m a'
Calls `mount'(1) in order to mount the first floppy (`/dev/fd0')
in the `/mnt/fd0' directory (`MOUNT-A').
`ESC m b'
Calls `mount'(1) in order to mount the second floppy (`/dev/fd1')
in the `/mnt/fd1' directory (`MOUNT-B').
`ESC m t'
Calls `mount'(1) in order to mount the file system corresponding to
the currently pointed to subdirectory. For example, if you are in the
`/mnt' directory and the cursor is on the `fd0' subdirectory,
the first floppy will be mounted (`MOUNT-THIS').
`ESC u a'
Calls `umount'(1) in order to unmount the first floppy (`/dev/fd0')
(`UMOUNT-A').
`ESC u b'
Calls `umount'(1) in order to unmount the second floppy (`/dev/fd1')
(`UMOUNT-B').
`ESC u t'
Calls `umount'(1) in order to unmount the file system mounted into
the currently pointed to subdirectory (`UMOUNT-THIS'). For example,
if the current directory is `/mnt' and the cursor points to the
`fd1' subdirectory, the second floppy will be unmounted.
File: git.info, Node: Sysinfo, Next: Environment, Prev: Mounting, Up: git
Getting some useful system information
--------------------------------------
`ESC S f'
Calls `finger'(1) in order to display information about local and
remote users (`FINGER').
`ESC S m'
Calls `mount'(1) in order to display a list of the currently
mounted file systems (`MOUNTED-FILE-SYSTEMS').
`ESC S q'
Calls `quota'(1) in order to display a user file system disk quota and
quota (`QUOTA').
`ESC S s'
Calls `df'(1) in order to get the status of the currently mounted
file systems (`DISK-FREE-SPACE').
`ESC S u'
Calls `users'(1) in order to get the name of the currently logged
in users (`USERS').
`ESC S v'
Calls `$GIT_VMSTAT'(1) in order to get the current virtual memory
status. This is very system dependent, `Linux' uses `free',
other systems use `vmstat', so the $GIT_VMSTAT variable is
used to deal with this (`VIRTUAL-MEMORY-STATUS').
*Note Environment Variables::, for more information.
`ESC S w'
Calls `who'(1) in order to find out who is on the system (`WHO').
File: git.info, Node: Environment, Next: Processes, Prev: Sysinfo, Up: git
How to look at the environment variables
----------------------------------------
`^X E'
Calls `env'(1) in order to display the current environment (`ENV').
File: git.info, Node: Processes, Next: Sync, Prev: Environment, Up: git
Viewing/killing processes
-------------------------
There are at least two kinds of `ps'(1) utilities. One that accepts
(more or less) combinations of the 'a', 'u', and 'x' flags and another
that accepts combinations of 'e', 'f' and 'l' flags. Since is quite
difficult to test which one works fine on a given `UNIX' system, `git'
provides key bindings for both of them. Anyway, if your `ps'(1) fails
to accept the predefined combinations, please take a look in its manual
and then modify the `.gitrc.TERM' file as needed.
Since the number of possible combinations of flags in the `ps'
command line is quite big and *very* system dependent, there is no real
reason to display them all here. We are only interested in giving you
a starting point in your search through the `.gitrc.TERM' file.
Note also that you can display a list of processes using `ps'(1) or
browse through a list of them (killing as needed) using `gitps'. As a
convention, we have used the same key sequence for a given set of
`ps'(1) flags for both `ps'(1) and `gitps', the only difference being
that `ps'(1) keys end in an uppercase letter. *Note gitps::, for more
information.
Here there are the default key bindings for the 'e', 'f' and 'l'
`ps'(1) flags combinations:
`ESC P b', `ESC P c', `ESC P e'
Calls `gitps' or `ps'(1) in order to browse through or display
a list of currently running processes (`GITPS', `PS').
... and the default key bindings for the 'a', 'u' and 'x' `ps'(1) flags
combinations:
`ESC P a', `ESC P l', `ESC P u' `ESC P x', `ESC P y'
Calls `gitps' or `ps'(1) in order to browse through or display
a list of currently running processes (`GITPS', `PS').
`^X k'
Calls `kill'(1) in order to kill a user specified process with a
given signal (`KILL').
File: git.info, Node: Sync, Next: Documentation, Prev: Processes, Up: git
Synchronizing the file systems
------------------------------
`^X S'
Calls `sync'(1) in order to synchronize all the file systems
(`SYNC').
File: git.info, Node: Documentation, Next: Exit, Prev: Sync, Up: git
Reading documentation
---------------------
`^X q'
Reads a manual page. The user is prompted for its name (`MAN').
`F1, ^X i'
Reads an info documentation. The user is prompted for the documentation
name (`INFO').
File: git.info, Node: Exit, Prev: Documentation, Up: git
Exiting GNU Interactive Tools
-----------------------------
`F10', `^X ^C', `^X c'
Exits GNU Interactive Tools (`exit').
File: git.info, Node: gitps, Next: gitview, Prev: git, Up: Description
The GIT process viewer/killer
=============================
`gitps' is an interactive process viewer/killer. It calls
internally the `ps'(1) utility so that's the reason why `gitps'
parameters are in fact `ps'(1) ones.
Running `gitps' it is self explanatory. Use the `arrows', `PageUp',
`PageDown', `Home', `End', `^N', `^P', `^V', `ESC v' to move in the
list, `^L' to refresh it and `F10' or `^G' to leave.
You can change these keys, just read the GITPS-Setup, GITPS-Color,
GITPS-Monochrome and GITPS-Keys sections in the configuration files
`.gitrc.TERM'.
File: git.info, Node: gitview, Next: gitcmp, Prev: gitps, Up: Description
The GIT ASCII/HEX file viewer
=============================
`gitview' is an ASCII/HEX file viewer. Use the `arrows', `PageUp',
`PageDown', `Home', `End', `^N', `^P', `^V', `ESC v' to move in the
file, `^L' to refresh the screen and `F10' or `^G' to leave.
You can change these keys, just read the GITVIEW-Setup,
GITVIEW-Color, GITVIEW-Monochrome and GITVIEW-Keys sections in the
configuration files `.gitrc.TERM'.
File: git.info, Node: gitcmp, Next: gitkeys, Prev: gitview, Up: Description
The GIT internal file compare utility
=====================================
`gitcmp' is a file compare utility. It outputs to stderr, `git'
catching its error messages this way.
`gtcmp' has been designed to be used in `$HOME/.gitrc.TERM' (`git'
configuration file) and should not be used as a stand alone program.
File: git.info, Node: gitkeys, Next: gitmatch, Prev: gitcmp, Up: Description
The GIT key sequences display utility
=====================================
`gitkeys' is a program that displays the key sequence sent by the
pressed key. This is the key sequence received by `GIT' tools, so this
program is useful when setting up the `.gitrc.TERM' configuration
files.
File: git.info, Node: gitmatch, Next: gitwipe, Prev: gitkeys, Up: Description
The GIT file name match utility
===============================
`gitmatch' is a program that tries to match its first parameter (the
file name) against some patterns, returning the number of the pattern
that matched.
`gitmatch' is called by the `gitaction'/`.gitaction' scripts and was
not designed to be used as a stand alone program.
File: git.info, Node: gitwipe, Next: gitmount, Prev: gitmatch, Up: Description
The GIT wipe file utility
=========================
`gitwipe' is an utility for wiping files. It overwrites the file
contents with a random sequence of numbers and then calls `sync'().
Note that `gitwipe' does *not* delete the file since (under `Linux'
at least) the `sync'() system call might return before actually writing
the new file contents to disk. Deleting the file might be dangerous
because some file systems can detect that the blocks in the file are no
longer used and never write them back to disk in order to improve
performance. It is up to you to delete the file(s) at a later moment.