X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=selector.git;a=blobdiff_plain;f=selector.1;h=5ea32e91a7533c5432c8aa75b7be6f499241be37;hp=b52a4b43e9255d9f71c4ac271fbc4101998cd034;hb=db0d8f2855537dee1b1a39600d8acecd98f603ed;hpb=1d721525406a010fc84b3768cf1a5b453a1f70d0 diff --git a/selector.1 b/selector.1 index b52a4b4..5ea32e9 100644 --- a/selector.1 +++ b/selector.1 @@ -1,9 +1,9 @@ +.TH "SELECTOR" "1.1.6" "February 2012" "Francois Fleuret" "User Commands" + \" This man page was written by Francois Fleuret \" and is distributed under a Creative Commons Attribution-Share Alike \" 3.0 License. -.TH "SELECTOR" 1 "July 2009" "Francois Fleuret" "User Commands" - .SH "NAME" selector \- A simple command line utility for dynamic pattern selection @@ -14,17 +14,17 @@ selector \- A simple command line utility for dynamic pattern selection .SH "DESCRIPTION" -\fBselector\fP is a command line utility for dynamic string -selection. It reads the content of the specified files, and as the -user types a list of strings separated by ";" (or a regexp), the +\fBselector\fP is a command line utility for interactive real-time +pattern matching. It reads the content of the specified files, and as +the user types a list of strings separated by ";" (or a regexp), the display is updated in real time to show only the lines containing all the said strings (or matching the regexp). -This command was mainly designed as a way to search in the shell -history, for which it is substantially more efficient than the -standard readline ^R binding. With the -v option, it injects the -selected line into the tty input buffer, hence allowing the user to -edit the line and execute it as a standard command. +This command was mainly designed as a way to search efficiently in the +shell history, for which it is substantially better than the standard +readline ^R binding. With the -v option, it injects the selected line +into the tty input buffer, hence allowing the user to edit the line +and execute it as a standard command. Selector is also a handy tool to test regexps, or to display menus with many possible choices. For the latter, the -x option allows to @@ -35,6 +35,15 @@ character will be returned. Note that because this is an interactive command, the standard input can not be used as one of the input files. +.SH "USING SELECTOR IN BASH" + +The selector command comes with a shell script for bash. If you add + +.B source bash-selector.sh --hist --cd + +in your \fB~/.bashrc\fR, it will remap M-r to the smart history search, +and redefine cd so that M-c provides a smart cd history. + .SH "KEY BINDINGS" Keys corresponding to ASCII codes between " " and "~" add a character @@ -59,70 +68,85 @@ case-insensitive modes. .SH "OPTIONS" .TP -\fB-h\fR +\fB-h\fR, \fB--help\fR display help and exit .TP -\fB-m\fR +\fB-m\fR, \fB--monochrome\fR force the monochrome mode .TP -\fB-i\fR +\fB-i\fR, \fB--revert-order\fR revert the order of the lines .TP -\fB-b\fR +\fB-b\fR, \fB--remove-bash-prefix\fR remove the numeric prefix from bash history .TP -\fB-z\fR +\fB-z\fR, \fB--remove-zsh-prefix\fR remove the time prefix from zsh history .TP -\fB-d\fR +\fB-d\fR, \fB--remove-duplicates\fR remove duplicated lines (note that you can have two different lines with the same visible part if you use the -x option) .TP -\fB-e\fR +\fB-e\fR, \fB--regexp\fR start in regexp mode .TP -\fB-a\fR -start in case sensitive mode +\fB-a\fR, \fB--case-sensitive\fR +start in case-sensitive mode +.TP +\fB-j\fR, \fB--show-long-lines\fR +print a long-line indicator at the end of truncated lines +.TP +\fB-y\fR, \fB--show-hits\fR +highlight the part(s) of each line which match the substrings or regexp .TP -\fB-q\fR +\fB-u\fR, \fB--upper-case-makes-case-sensitive\fR +using an upper case in the matching string makes the matching +case-sensitive +.TP +\fB-q\fR, \fB--no-beep\fR make a flash instead of a beep when there is an edition error .TP \fB--\fR state that all following arguments are filenames .TP -\fB-t \fI\fR +\fB--bash\fR +standard setting for bash history search, same as + +-b -i -d -v -w -l ${HISTSIZE} +.TP +\fB-t \fI<title>\fR, \fB--title \fI<title>\fR add a title in the modeline .TP -\fB-c \fI<fg_modeline> <bg_modeline> <fg_highlight> <bg_highlight>\fR -select the modeline and highlight color numbers +\fB-c \fI<colors>\fR, \fB--colors \fI<colors>\fR +select the modeline and highlight color numbers with a color list of +the form + +\fI<fg_modeline>,<bg_modeline>,<fg_highlight>,<bg_highlight>\fR .TP -\fB-v\fR +\fB-v\fR, \fB--inject-in-tty\fR inject the selected line into the tty input buffer .TP -\fB-w\fR +\fB-w\fR, \fB--add-control-qs\fR add ^Q between characters during tty injection to quote control characters .TP -\fB-o \fI<output_filename>\fR +\fB-o \fI<filename>\fR, \fB--output-file \fI<filename>\fR write the selected line into the specified file .TP -\fB-s \fI<pattern_separator>\fR -specify the symbol to separate the substrings in the search pattern +\fB-s \fI<separator>\fR, \fB--pattern-separator \fI<separator>\fR +specify the character to separate the substrings in the search pattern .TP -\fB-x \fI<label_separator>\fR -specify the symbol to separate what to show to the user during the +\fB-x \fI<separator>\fR, \fB--label-separator \fI<separator>\fR +specify the character to separate what to show to the user during the selection from the line to return .TP -\fB-l \fI<max_number_of_lines>\fR +\fB-l \fI<number>\fR, \fB--number-of-lines \fI<number>\fR specify the maximum number of lines to take into account -.TP -\fB-f \fI<input_filename>\fR -specify a file to search into (option kept for compatibility reasons) .SH "EXAMPLES" To use selector to search into your bash history -.B selector -q -b -i -d -v -w -l ${HISTSIZE} <(history) +.B selector -q --bash <(history) To show a list of directories and insert a cd command to the selected one (using @ as a separator) @@ -135,31 +159,14 @@ file contains ^A) .B selector -v -x ^A <(awk < something.txt \(aq{ print $0\(dq^A\(dqNR }\(aq) -.SH "KEYBINDING IN BASH" - -You can associate selector to a single key in bash by using the -command 'bind' in your bash initialization file. For instance, to -associate it to M-r (that is, the "Alt" and "r" key pressed together), -just add something like - -bind \(aq\(dq\\C-[r\(dq:\(dq\\C-a\\C-kselector -q -b -i -d -v -w -l ${HISTSIZE} <(history)\\C-m\(dq\(aq - -in your -.IR ~/.bashrc . - -This bindings uses the control character ^A to put the cursor to the -mostleft location and ^K to erase the current content of the readline -buffer, and it simulates the enter key with ^M. - -Note that depending on the configuration of your system, the sequence -associated to the M-r key, which is here "C-[r", may differ. To figure -it out, simply press C-q followed by M-r in the console. - .SH "BUGS" There are modeline display problems if the pattern is too long. This program does not handle multibyte characters. +The \fB-v\fR option does not work on FreeBSD 8.0 since the TIOCSTI +ioctl request is broken. + .SH "AUTHOR" Written by Francois Fleuret <francois@fleuret.org> and distributed