|
GNU Interactive ToolsA Set of Interactive ProgramsEdition 2.9, for GIT version 4.3.20March 2000by Tudor Hulubei and Andrei Pitis "Politehnica" University of Bucharest Romania
Table of Contents
Introduction
One of the main advantages of
Distributing GNU Interactive Tools
The easiest way to get a copy of
You may also receive Using GNU Interactive Tools
The The GIT file system browser
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 (using the GNU history library). 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. Key binding conventions
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 entries. 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
Unfortunately, we can't run Command lineThis is a brief description of the command line arguments.
The function g { git -p $ 3> /tmp/git.p.$$ if test -s /tmp/git.p.$$; then if test -d "`cat /tmp/git.p.$$`"; then cd "`cat /tmp/git.p.$$`" else cd fi fi rm -f /tmp/git.p.$$ } This will not work if you suspend git. Nothing bad will happen, just the chdir will not be performed. Panel modes
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 `Enable 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 `Enable 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-enable-all' mode is not available. These are the panel minor modes: ESC d o Display the entry owner and group (`panel-enable-owner-group'). ESC d d Display the entry date and time (`panel-enable-date-time'). ESC d s Display the entry size (`panel-enable-size'). ESC d m Display the entry mode (`panel-enable-mode'). ESC d f Display the entry full name (`panel-enable-full-name'). ESC d a Display the entire information about file (`panel-enable-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-enable-all'). There is also another way to change the panel minor modes: ^], ^[] Switches to the next panel minor mode (`panel-enable-next-mode'). Sorting methodsEntries in a panel can be sorted in different ways. These are the available options: ESC s n Display the panel entries sorted by their names (`panel-sort-by-name'). ESC s e Display the panel entries sorted by their extensions (`panel-sort-by-extension'). ESC s s Display the panel entries sorted by their sizes (`panel-sort-by-size'). ESC s d Display the panel entries sorted by their `last modified' stamps (`panel-sort-by-date'). ESC s m Display the panel entries sorted by their modes (`panel-sort-by-mode'). ESC s o i Display the panel entries sorted by their owner ids (`panel-sort-by-owner-id'). ESC s g i Display the panel entries sorted by their group ids (`panel-sort-by-group-id'). ESC s o n Display the panel entries sorted by their owner names (`panel-sort-by-owner-name'). ESC s g n Display 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 Switch to the next panel sort method (`panel-sort-next-method'). Moving the cursor in the panelMoving 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 Move the cursor vertically up one entry (`previous-line'). DOWN, ^N Move the cursor vertically down one entry (`next-line'). HOME, ESC < Move the cursor on the first entry in the panel (`beginning-of-panel'). END, ESC > Move the cursor on the last entry in the panel (`end-of-panel'). PGUP, ESC v Move the cursor vertically down one page (`scroll-down'). PGDOWN, ^V Move the cursor vertically down one page (`scroll-up'). ESC g Scroll the panel entries to the left (`horizontal-scroll-left'). ESC j Scroll the panel entries to the right (`horizontal-scroll-right'). ^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 Move the cursor in the other panel (`other-panel'). ^X P
Switch the two panels. This command works even when
Selecting filesINS, ^T, ^X \, ^\ Toggle the `selected' flag of the current entry (`select-entry'). ^C s Select (marks) all the files matching at least one pattern from a space separated list of shell patterns. Spaces and \s are allowed in the patterns but they have to be escaped with a \. The user will be prompted for a pattern to match against (`select-files-matching-pattern'). ^C u Unselect (unmarks) all the files matching at least one pattern from a space separated list of shell patterns. Spaces and \s are allowed in the patterns but they have to be escaped with a \. The user will be prompted for a pattern to match against (`unselect-files-matching-pattern'). ESC + Select (marks) all the files having the same extension as the current file. If the current file name doesn't have an extension or starts with a dot, no files are selected (`select-extension'). ESC - Unselect (unmarks) all the files having the same extension as the current file. If the current file name doesn't have an extension or starts with a dot, no files are unselected (`unselect-extension'). See section Selecting files matching patterns, for additional ways of selecting and unselecting files. 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 ^S, ^Xs
Incremental search forward a file name in the current panel
(`isearch-forward'). Pressing ^S or ^Xs again will
force
^R, ^Xr
Incremental search backward a file name in the current panel
(`isearch-backward'). Pressing ^R or ^Xr again will
force
Using the input line
The input line is one of the main methods used by 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 ESC RET Copy the current entry name into the input line at the current point position (`entry-to-input-line'). ESC ESC RET Copy the other panel path into the input line at the current point position (`other-path-to-input-line'). ^X ^I Copy the names of all the selected entries into the input line at the current point position (`selected-entries-to-input-line'). Moving Point^B, LEFT Move the point backward one character (`backward-char'). ^F, RIGHT Move the point forward one character (`forward-char'). ESC b Move the point one word backward (`backward-word'). ESC f Move the point one word forward (`forward-word'). ^A Move the cursor at the beginning of the input line (`beginning-of-line'). ^E Move the cursor at the end of the input line (`end-of-line'). Deleting and killing textDEL, ^D Delete the character under the cursor (`delete-char'). ^H, BKSPC Delete the character before the cursor (`backward-delete-char'). ESC BKSPC Delete backward one word (`backward-kill-word'). ESC d Delete forward one word (`kill-word'). ESC k Delete the entire line (`kill-line'). ^U Delete all the characters between the beginning of the input line and the point (`kill-to-beginning-of-line'). ^K Delete all the characters between the point and the end of the input line (`kill-to-end-of-line'). ESC SPC Delete all the spaces around the point, leaving only one space (`just-one-space'). ESC \ Delete all the spaces around the point (`delete-horizontal-space'). ^W Save 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 Save the region between the point and the mark without killing it (`kill-ring-save'). Case conversion of words.ESC l Convert the following word to lower case, moving over. (`downcase-word'). ESC u Convert the following word to upper case, moving over. (`upcase-word'). ESC c Capitalize the following word, moving over. (`capitalize-word'). Reusing recent input line argumentsA 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 Walk backward through the history of previously entered strings (`previous-history-element'). ESC n Walk forward through the history of previously entered strings (`next-history-element'). Commands to set the mark^SPC Set the mark at the current point position (`set-mark'). ^X ^X Exchange the current point position with the mark one (`exchange-point-and-mark'). Reinserting recently killed text^Y Reinsert a previously killed text at the current point position (`yank'). Selecting files matching patternsIf the very first character in the input line is a `+', what comes after it is considered a (space separated) list of shell patterns, and all the files that match at least one pattern from that list will be marked as selected. An empty list of shell patterns (i.e. the `+' by itself) will cause all the files to be selected. If the very first character in the input line is a `-', the space separated list of shell patterns that follows is used to unselect files. An empty list of shell patterns (i.e. the `-' by itself) will cause all the selected files to be unselected. Finally, if the first and only character in the input line is a `*', then all the selected files will become unselected, and all the unselected files will become selected. File operationsCopying FilesF5, ESC 5, ^C C Copy the currently selected entries to the user supplied path (`copy'). ^C b C Copy the currently selected entries to the user supplied path. The operation is performed in background (`B-COPY'). Moving FilesF6, ESC 6, ^C T Move the currently selected entries to the user supplied path (`move'). ^C b T Move the currently selected entries to the user supplied path. The operation is performed in background (`B-MOVE'). Creating FilesThe easiest way to create a new file is to start an editor passing the file name as an argument. Most editors will try to create the file if the file doesn't exist. See section Editing Files, for more information. Deleting FilesF8, ESC 8, ^C D Delete the currently selected entries (`delete'). ^C b D Delete the currently selected entries. The operation is performed in background (`B-DELETE'). Linking Files^C H Create a hard link from the current files to a user supplied file name (`LINK'). ^C b H Create a hard link from the current files to a user supplied file name (`B-LINK'). The action is performed in background. ^C S Create a symbolic link from the current files to a user supplied file name (`SYMLINK'). ^C b S Create a symbolic link from the current files to a user supplied file name (`B-SYMLINK'). The action is performed in background. Renaming Files^C R Rename the current file or directory with the user supplied name (`RENAME'). ^C b R Rename the current file or directory with the user supplied name. The operation is performed in background (`B-RENAME'). ^C n d Change the name of all the selected entries to lowercase. (`name-downcase'). ^C n u Change the name of all the selected entries to uppercase. (`name-upcase'). Splitting files into smaller parts^C / Split the current file into several smaller files of a given size and named based on a given prefix (`SPLIT'). ^C b / Split the current file into several smaller files of a given size and named based on a given prefix. The operation is performed in background (`B-SPLIT'). Packing files into the minimum number of bins^C ~ Pack the files into the smallest number of bins. This is an approximation - the problem is NP-complete and no known algorithm can guarantee a solution better than `(11/9) * OPTIMAL + 4'. To make things even worst, it is generally difficult to figure out the file system block size for the target bin. Asking the user is not a good idea either. `git' currently assumes a file system block size of 1Kb. Moreover, for large file, there is no portable way to predict how many blocks the file system implementation will require for indirect blocks, directories, etc. So keep in mind that this is only an aproximation. Bin packing can be useful when you want to put a bunch of files on floppies or zip disks and you want to optimize things a little bit (`bin-packing'). `git' assumes that you want to pack all the files in the current directory - if there is any selected file in that directory it will be unselected first. Then `git' will ask for a bin size, and select the files that should go in the first bin. You are supposed to place those files in the first bin (e.g. a tar archive), remove them from the current directory, then run `bin-packing' again, to obtain the list of the files that should go into the second bin, etc. Changing a file's mode, owner and group^C M Change the mode of the currently selected entries (`CHMOD'). ^C b M Change the mode of the currently selected entries. The operation is performed in background (`B-CHMOD'). ^C r M Recursively change the modes of the selected entries if one of them is a directory (`R-CHMOD'). ^C b r M Recursively change the modes of the selected entries if one of them is a directory. The operation is performed in background (`B-R-CHMOD'). ^C O Change the owner of the currently selected entries (`CHOWN'). ^C b O Change the owner of the currently selected entries. The operation is performed in background (`B-CHOWN'). ^C r O Recursively change the owners of the selected entries if one of them is a directory (`R-CHOWN'). ^C b r O Recursively change the owners of the selected entries if one of them is a directory. The operation is performed in background (`B-R-CHOWN'). ^C G Change the group of the currently selected entries (`CHGRP'). ^C b G Change the group of the currently selected entries. The operation is performed in background (`B-CHGRP'). ^C r G Recursively change the groups of the selected entries if one of them is a directory (`R-CHGRP'). ^C b r G Recursively change the groups of the selected entries if one of them is a directory. The operation is performed in background (`B-R-CHGRP'). Editing FilesF4, ESC 4 Call the default editor with the current file name as an argument (`EDIT'). ^X e Call the default editor with the selected entry names as arguments (`MULTIPLE-EDIT'). ^X ^F Create a new file by calling the default editor with the user supplied file name as an argument (`FILE-CREATE'). ^X 4 a Call 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. See section Environment Variables, for more information. Viewing FilesF3, ESC 3
Call the default viewer (
^X v
Call the default pager (
Compressing Files^C z
Compress the currently selected entries with
^C b z
Compress the currently selected entries with
^C Z
Uncompress the currently selected entries with
^C b Z
Uncompress the currently selected entries with
^C f Z
Uncompress the currently selected entries with
^C b f Z
Uncompress the currently selected entries with
^C .
Compress the currently selected entries with
^C b .
Compress the currently selected entries with
^C o
Uncompress the currently selected entries with
^C b o
Uncompress the currently selected entries with
Encoding Files^C e Encode the currently selected file (`UUENCODE'). ^C b e Encode the currently selected file. The operation is performed in background (`B-UUENCODE'). ^C E Decode the currently selected file (`UUDECODE'). ^C b E Decode the currently selected file. The operation is performed in background (`B-UUDECODE'). ^C k Encode the currently selected file using mpack (`MIME-PACK'). ^C b k Encode the currently selected file using mpack. The operation is performed in background (`B-MIME-PACK'). ^C K Decode the currently selected file using munpack (`MIME-UNPACK'). ^C b K Decode the currently selected file using munpack. The operation is performed in background (`B-MIME-UNPACK'). Encrypting Files^C p
Encrypt (using
^C P
Decrypt (using
Comparing Files^C =
Compare (using
^C ESC =
Compare (using
^C B Compare the current file with the other panel current file. A binary comparison is performed (`compare'). Spell Checking Files^X I
Run the
Printing Files^C j Print the selected files via ^C J Print the list of active printing jobs via Wiping Files^C W
Call
See section The GIT wipe file utility, for more information. Searching FilesESC % Searche files on the file system, starting from the current directory (`FIND'). ESC & Use 'locate' to search files on the file system, starting from the current directory (`LOCATE'). ^X w Locate the binary, source, and manual page files for a command (`WHEREIS'). ^X W Locate a command; display its pathname or alias (`WHICH'). Managing tar based archive files^C a
Create a
^C b a
Create a
^C x
Create a compressed
^C b x
Create a compressed
^C -
Create a bzip2 compressed
^C b -
Create a bzip2 compressed
^C X Expand the selected archives into the current directory. The utility used is selected based on the extension of the file (`GENERIC-UNPACK'). ^C b X Expand the selected archives into the current directory. The utility used is based on the extension of the file. The operation is performed in background (`B-GENERIC-UNPACK'). ^C V Expand the selected archives into an user supplied current directory. The utility used is selected based on the extension of the file (`GENERIC-UNPACK-INTO'). ^C b V Expand the selected archives into an user supplied directory. The utility used is based on the extension of the file. The operation is performed in background (`B-GENERIC-UNPACK-INTO'). Installing and Uninstalling RPM packages
Red Hat Linux Distributions use a very powerful package manager called
^C I
Install the
^C b I
Install the
^C i
Uninstall the
^C b i
Uninstall the
^C N
Upgrade the
^C b N
Upgrade the
^C q Query the File Types^C t
Print the type of a file using the
Accessing MSDOS Files^C m d, ^C m ^D
Change the current
^C m P
Put the currently selected files on a
^C b m P
Put the currently selected files on a
^C m G
Get some files from a
^C b m G
Get some files from a
^C m D
Delete files from a
^C b m D
Delete files from a
^C m L
List files and directories on a
^C m F
Format a
^C b m F
Format a
^C m M
Create a directory on a
^C b m M
Create a directory on a
^C m K
Remove a directory from a
^C b m K
Remove a directory from a
^C m R
Rename a file or directory on a
^C b m R
Rename a file or directory on a
^C m T
Display the contents of a file located on a
A different action for each file type
Many files on F2, ESC 2, ^X a Perform an action on the current file, depending on its type (`FILE-ACTION'). Directory operationsCreating directoriesF7, ESC 7, ^X M Create a new subdirectory in the current directory with the user supplied name (`make-directory'). Copying directoriesF5 (for directories), ESC 5 (for directories), ^C C (for directories) Copy the currently selected entries to the user supplied path (`copy'). ^C b C (for directories) Copy the currently selected entries to the user supplied path. The operation is performed in background (`B-COPY'). Deleting directoriesF8 (for subdirectories), ESC 8 (for directories), ^C D (for subdirectories) Delete the currently selected entries (`delete'). ^C b D (for directories) Delete the currently selected entries. The operation is performed in background (`B-DELETE'). Moving directoriesF6 (for directories), ESC 6 (for directories), ^C T (for directories) Move the currently selected entries to the user supplied path (`move'). ^C b T (for directories) Move the currently selected entries to the user supplied path. The operation is performed in background (`B-MOVE'). Renaming directories^C R (for directories) Rename the current file or directory with the user supplied name (`RENAME'). ^C b R (for directories) Rename the current file or directory with the user supplied name. The operation is performed in background (`B-RENAME'). Comparing Directories^C c q Quickly compare the files in the left panel with the files in the right one. Only the file names, sizes and time stamps are considered in the comparison. ^C c t Compare the files in the left panel with the files in the right one. The contents of each file in the current panel will be compared against the contents of its couterpart (if any) from the other panel. ^C f d
Recursively compare (using
^C d
Compare (using
^C b d
Compare (using
Summarize directory usage^C U
Display the output of the
Changing directories^X d, ^X ^D Change 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'). See section Directory History, for more information. ESC a c Change the current directory of the current panel to the directory of the other panel (`adapt-current-directory'). ESC a o Change the current directory of the other panel to the directory of the current panel (`adapt-other-directory'). Directory History
Users usually work on a limited set of subdirectories. Providing a fast
method of switching between a number of intensively used directories is
a good idea and
Usually new directories are added to the directory history when the
`change-directory' built-in command is used. ^X ^N Go to the next directory in the history (`next-directory'). ^X ^P Go to the previous directory in the history (`previous-directory'). ^X ^R Reset the entire directory history. As explained above, the current directory becomes the only directory in the history (`reset-directory-history'). Hot Keys
ESC / Go to the `/' directory (`ROOT-DIR'). ESC . Go to the `..' directory (`up-one-dir'). ESC h Go to the `~' ($HOME) directory (`HOME-DIR'). ESC i Go to the `/usr/include' directory (`INCLUDE-DIR'). ESC ESC 1 Go to the `/mnt/fd0' directory (`FIRST-FLOPPY-DIR'). ESC ESC 2 Go to the `/mnt/fd1' directory (`SECOND-FLOPPY-DIR'). Compiling programsF9, ESC 9, ^X m
Run the
^X b m
Run the
See section The GIT per file type action script, for more information. Sending/receiving ascii/binary mail^C 2 a Send the current current ascii file by mail to an user supplied email address (`ASCII-MAIL'). ^C b 2 a The same as `ASCII-MAIL', the only difference being that the command runs in background (`B-ASCII-MAIL'). ^C 2 b Send the current current binary file by mail to an user supplied list of email addresses. The file is uuencoded first (`BINARY-MAIL'). ^C b 2 b The same as `BINARY-MAIL', the only difference being that the command runs in background (`B-BINARY-MAIL'). ^C 2 m Send the current current binary file by mail to an user supplied list of email addresses. The file is encoded with mpack first (`MIME-MAIL'). ^C b 2 m The same as `MIME-MAIL', the only difference being that the command runs in background (`B-MIME-MAIL'). ESC x r m
Run the
Starting a sub-shell^X z Call a sub-shell as specified by the $GIT_SHELL environment variable (`SUB-SHELL'). See section Environment Variables, for more information. Using grep and recursive grep^X g
Search using
^X g
Search recursively using
See section The GIT recursive grep script, for more information. Locking your console
Having a lock feature might be a good idea and, since not all the
^X p Prompt the user for a password and locks the console until the same password is reinserted (`lock'). Refreshing the screen contentsSometimes 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. ^L Re-read the directories contents and refresh the screen (`refresh'). Reseting your terminal^X ^L
Call
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,
The default key bindings set has been designed to work under
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 ESC m a
Call
ESC m b
Call
ESC m c
Call
ESC m f
Call
ESC m z
Call
ESC m j
Call
ESC m t
Call
ESC r a
Call
ESC r b
Call
ESC r c
Call
ESC r f
Call
ESC r z
Call
ESC r j
Call
ESC r t
Call
Getting some useful system information^X T
Call
ESC S f
Call
ESC S m
Call
ESC S q
Call
ESC S s
Call
ESC S u
Call
ESC S v Call See section Environment Variables, for more information. ESC S w
Call
How to look at the environment variables^X E
Call
^X H
Call
Viewing/killing processes
There are at least two kinds of
Since the number of possible combinations of flags in the
Note also that you can display a list of processes using
Under Linux it is possible to see a tree of processes using
Here there are the default key bindings for the 'e', 'f' and 'l'
ESC P b, ESC P c, ESC P e Call
... and the default key bindings for the 'a', 'u' and 'x' ESC P a, ESC P l, ESC P u ESC P x, ESC P y Call ESC P T
Call
^X k
Call
Synchronizing the file systems^X S
Call
Reading the documentation^X q Read a manual page. The user is prompted for its name (`MAN'). F1, ESC 1, ^X i Read an info documentation. The user is prompted for the documentation name (`INFO'). ^X h Read the html documentation using the viewer specified in GIT_BROWSER, or with lynx if GIT_BROWSER is not set (`HTML'). Exiting GNU Interactive ToolsF10, ESC 0, ^X ^C, ^X c Exit GNU Interactive Tools (`exit'). The GIT process viewer/killer
Running You can change these keys, just read the GITPS-Setup, GITPS-Color, GITPS-Monochrome and GITPS-Keys sections in the configuration files `.gitrc.TERM'. The GIT ASCII/HEX file viewer
You can change these keys, just read the GITVIEW-Setup, GITVIEW-Color, GITVIEW-Monochrome and GITVIEW-Keys sections in the configuration files `.gitrc.TERM'. Here is a brief description of the command line arguments:
The GIT key sequences display utility
The GIT wipe file utility
Note that The GIT mount utility
You don't need to know the file system type anymore. If you want to use
The GIT per file type action script
The first parameter is the current directory name and the second one is the file name to be matched against the default patterns. The matching is done using the shell 'case' statement.
If you press F2, ESC 2 or ^Xa on a `*.c' file,
If you want to find out what the default action for each file type is
(or if you want to modify it), just read/modify the
If you press F2, ESC 2 or ^Xa on a `*.gif' file
or `*.jpg' file and you have the
Also, you can add a Unified archive unpacking
The GIT recursive grep script
Customizing GNU Interactive ToolsEnvironment VariablesThe configuration files use shell environment variables to call the shell, editor, mail reader, html viewer, compress and virtual memory status utility. That means that if you set GIT_SHELL, GIT_EDITOR, GIT_RMAIL, GIT_BROWSER, or GIT_VMSTAT to some value, that value will be used instead of the default one. The defaults are: GIT_SHELL='/bin/sh' GIT_EDITOR='vi' GIT_RMAIL='emacs -f rmail' GIT_PAGER='more' GIT_VMSTAT='free' GIT_BROWSER='lynx' If SHELL is defined, GIT_SHELL will be set to that value. If EDITOR is defined, GIT_EDITOR will be set to that value. If you want to change the default settings, put something like this into your `.profile': export GIT_SHELL='/usr/local/bin/bash' export GIT_EDITOR='emacs' export GIT_RMAIL='elm' export GIT_PAGER='less' export GIT_VMSTAT='vmstat' export GIT_BROWSER='netscape' Configuration Files
There is one configuration file per terminal type in
Their generic name is `.gitrc.TERM'. Since most of the key bindings are common to all the terminal types, a configuration file called `.gitrc.common' is parsed before parsing the normal `.gitrc.TERM' configuration file, the later one defining only those keys that are terminal specific. However, if a key binding is redefined in the `.gitrc.TERM' file, that binding will be used.
If the TERMCAP=`/home/mike/.termcap'
The interactive programs in the The `.gitrc.TERM' it is first time searched in the home directory then, if not found, in the directory `$(prefix)/lib' (usually `/usr/local/lib'). The configuration file is structured on sections, each section containing variables in the following format: `variable-name' = `first-field';`second-field'; ... After the `variable-name' at least one space or tab is required. All characters after a `#' are ignored and if you comment a section name, the whole section is ignored. Section names are enclosed in rectangular brackets (`[' and `]'). Note that this manual don't include them while refering to section names.
The Writing key sequences
The convention used in describing key bindings are very simple. Here
there are some examples that will help you to understand them. The
corresponding ^A means keeping the Ctrl key down and pressing the a key (C-a). The ESC character is represented as ^[ so that you can use the meta character (M- ) where available (or the ESC key): ^[a corresponds to M-a (pressing the ESC key and then a). The ^ character is represented as ^^. The backspace character is represented as ^_. The Ctrl-SPACE character (C-SPC) is represented as ^$. The space (SPC) character is represented as ^@. Note that the key bindings notation described here is only used in the configuration files. For the sake of readability this manual uses ESC for the ESC key, SPC for the SPACE key and RET for the RETURN (ENTER) key. The global setup sectionIn this section the variables have only one field. `AnsiColors'
This variable should be set to `ON' if the terminal supports
standard `ANSI' color sequences. Otherwise it should be
`OFF'. If `AnsiColors' is `ON', `GITxxx-Color'
sections will be used in the configuration files `.gitrc.TERM'.
Otherwise, `UseLastScreenChar'
This variable is used for terminals that can't write on the last
character of the screen without scrolling the entire screen. If your
terminal has no problem writing there ( `StartupScrollStep' This variable specifies the scroll step initial value for both panels. git Sectionsgit SetupIn this section the variables have only one field. `StartupFileDisplayMode' This variable specifies the file specific information displayed at startup. It can be any of `OwnerGroup', `DateTime', `Size', `Mode' or `FullName'. Its value initially affects both panels but it can be changed separately afterward. `StartupFileSortMethod' This variable specifies the startup sort method. It can be any of `Name', `Extension', `Size', `Date', `Mode', `OwnerId', `GroupId', `OwnerName' or `GroupName'. Its value initially affects both panels but it can be changed separately afterward. `ConfirmOnExit' If this variable is `ON', the user is prompted for confirmation at exit. `HistoryFile' This variable specifies the history file name. The default value is `~/.githistory'. `InfoDisplay' If this variable is `OFF', auxiliary file informations are not displayed. This can be useful if you are using a very slow terminal. `LeadingDotMatch' If this variable is `OFF' when matching files for select-files-matching-pattern / unselect-files-matching-pattern then the leading '.' in the file name is matched only explicitly. `TypeSensitivity' If this variable is `OFF', colors are not used when displaying files. Normally, the information in the `GIT-FTI' section is used to display files with different colors, depending on their types. Note that `TypeSensitivity' is automatically set to `OFF' when `AnsiColors' is `OFF'. See section Setting up colors for different file types, for mor information. `NormalModeHelp' `CommandLineModeHelp'
These variables describe the status bar contents for each \s -> the system type \h -> the host name \m -> the machine type \d -> the current date See section Panel modes, for more information. Using git on colors displaysIn this sections the variables have only one field.
These section allows you to customize the colors of Using git on monochrome displaysIn this sections the variables have only one field.
These section allows you to customize the appearance of Defining keys
These section describes the actions `key-sequence' = `command-name';`formatted-command';`new-dir'; `save-screen';`pause';`hide' Note that you can't continue the variable fields description on the next line. The key-sequence field`key-sequence' is the key sequence associated with the given command. You can use any key sequence that doesn't start with an ascii character (0x20 to 0x7e).
Symbolic key names (F0, F1, F2, ... F10,
UP, DOWN, RIGHT, LEFT, INS, DEL,
HOME, END, PGUP and PGDOWN) can be used instead
of the key sequence. If some keys don't have a `termcap'/
`terminfo' description (like the F11/F12 keys on the
The command-name field`command-name' is a command generic name. Even if it is not always used, the `command-name' must be present (if a command is associated with a `key-sequence'). If it is not, no action will be taken when pressing `key-sequence'.
There are two types of commands in Note that by convention built-in command names contain only lower case letters while user defined command names contain only upper case letters. The formatted-command field- `formatted-command' is a shell command which can contain some scanf like format specifiers. They are used to get the current entry name, owner, group, mode, etc. Note that using uppercase `format specifiers' you will be able to access the other panel path, file and directory names, etc. These are the available `format specifiers': The %s format specifierThe format of %s is: %s{question,default_answer}.
When Note that there should be no spaces between %s and '{'. The %f format specifier
The %d format specifier
The %l format specifier
The %t format specifier
The %z format specifier
The %a format specifier
The %m format specifier
The %g format specifier
The %o format specifier
The %p format specifier
The %b format specifier
The %i format specifier
The %? format specifierThe format of %? is: %?{confirmation}.
The new-dir fieldIf the `formatted-command' successfully exits (exit code = 0) or it has no body and this field is present then `new-dir' will become the current panel directory. The character '~' used at the beginning of the `new-dir' field is replaced by the user's home directory. The save-screen field
This field is a character (usually 'y' or 'n') that tells The pause fieldUsers may wish to read some commands's results before repainting the panels. If this field is present git will wait for a key to be pressed before restoring the panels. Its default value is 'n'. The hide field
Some commands that don't displaying any useful information if
successfully complete their execution: Setting up colors for different file typesThis sections contains entries of the form: `pattern' = `foreground'; `background'; `brightness' where `pattern' is a file name matching pattern, `foreground', `background' and `brightness' are the color specification to be used when a file whose name match the given `pattern' is displayed in a panel. Colors can be turned off using the `TypeSensitivity' variable in the `GIT-Setup' seection. gitps Sectionsgitps SetupIn this section the variables have only one field. `Help'
This variable describe Using gitps on color displaysIn this sections the variables have only one field.
These section allows you to customize the colors of Using gitps on monochrome displaysIn this sections the variables have only one field.
These section allows you to customize the appearance of Defining keysgitview Sectionsgitview SetupIn this section the variables have only one field. `Help'
This variable describe Using gitview on color displaysIn this sections the variables have only one field.
These section allows you to customize the colors of Using gitview on monochrome displaysIn this sections the variables have only one field.
These section allows you to customize the appearance of Defining keysGNU Interactive Tools limitationsBackground commands (& terminated)can be specified in the configuration file but their result (stdout and stderr redirection), will be overwritten by the result of newer commands and, if an error occurs, it will not be seen.
When
Job support is implemented only in Due to the fact that the ';' character is used as a field separator in the configuration files, you can't write something like that in the `.gitrc.TERM' files: ^AAA = SHOW-USERS-AND-GROUPS; more /etc/passwd; more /etc/group because 'more /etc/group' will be considered as a directory to switch to. You must write a small script instead: #! /bin/sh more /etc/passwd more /etc/group
Supposing the script name is ^AAA = SHOW-USERS-AND-GROUPS; show_ug There is no support for appearance modes on magic-cookie terminals. GNU Interactive Tools bugsAny questions, comments, or bug reports, should be emailed to `Tudor Hulubei <tudor@cs.unh.edu>'. Please include the version number. Key IndexJump to: ^ - d - e - f - h - i - p - t - u
^defhiptuCommand IndexJump to: a - b - c - d - e - f - g - h - i - j - k - l - m - n - o - p - q - r - s - t - u - v - w - x - y
abcdefghijklmnopqrstuvwxyVariable IndexJump to: a - c - e - g - h - i - l - n - s - t - u
aceghilnstuConcept IndexJump to: a - b - c - d - e - f - g - h - i - j - k - l - m - n - o - p - q - r - s - t - u - v - w - x - y
abcdefghijklmnopqrstuvwxyThis document was generated on 12 March 2000 using texi2html 1.56k. |