05-20-2008
Custom auto-complete
Hello:
I am using csh, and am a complete noob when it comes to shell scripting.
I want the following:
1) Ignore case when doing auto-complete.
2) If there are multiple matches (example: I have files abc.txt abc.txt.1, abc.txt.2 and type abc<tab>), count the number of matches.
If the number of matches is less than a set amount, say 5, then cycle through them upon tab. Meaning when I press abc<tab> it first completes abc.txt, then when I press <tab> again, it completes it to abc.txt.1, then abc.txt.2, and then my original uncompleted word, abc.
If the number of matches is more than 5 and less than 20, it should show me all possibilities upon pressing tab.
If the number of matches is more than 20, it should ask me whether I want a full listing. Upon pressing y or n, it should do the appropriate action (i.e. show me all possible matches, or not show any match).
3) When the number of matches is less than 5, shift-tab should cycle backwards in the list of matched filenames/dir-names.
I want to write a script in .cshrc to do the above, but don't know how/where to start. Can anyone help me write this?
Regards,
[Bump]
Last edited by madiyaan; 05-23-2008 at 03:06 PM..
Reason: Added shift-tab
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
How can one setup auto complete under AIX
when you type a path etc. by pressing a sequece of keys yu can complete the line.
Any sugestions !!!! (7 Replies)
Discussion started by: truma1
7 Replies
2. UNIX Desktop Questions & Answers
How can I set up the profile for a use so when entering a eg first charachter of a file and then pressing the tab OS will complete the file name.
Thanks in advance Tom (4 Replies)
Discussion started by: Tom_Zamani
4 Replies
3. UNIX for Dummies Questions & Answers
Hi !
Can anybody please give me any clue how to set on the Auto Complete option (auto complete paths by pressing escape) in unix ?
Thanks!
Pablo. (4 Replies)
Discussion started by: cordobapablo
4 Replies
4. UNIX for Dummies Questions & Answers
Hi,
Does anyone know how to make BASH provide a list of possible completions on the first tab, and then start cycling through the possibilites on the next tab?
Right now this is what I have in my .bashrc:
bind "set show-all-if-ambiguous on"
bind \\C-o:menu-complete
This allows... (0 Replies)
Discussion started by: Mithu
0 Replies
5. UNIX for Dummies Questions & Answers
Dear friend i have intalled sun solaris in vmware (vertual machine) untill now every things are ok but i have proplem
when i tray to use tap key in terminal for auto complete the terminal window prsent to me space only i tried many also in many profile it seem the same proplem also if i print... (3 Replies)
Discussion started by: Mohammed-syria
3 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I use KSH a lot.
I wanted to know if I can auto-complete a Variable name in the environment. I know this is possible in tcsh.
I use the vi mode to edit commands on command prompt.
Any help would be much appreciated.
Thanks..!! (4 Replies)
Discussion started by: grep_me
4 Replies
7. Shell Programming and Scripting
*Sorry for my other post in French*
Hi everyone!
In my work I have to find how can I auto complete this type of windows (screenshot) in Shell with defined variables.
http://opsi-fr.opensides.be/opsi-doc/stable/xhtml/fr/images/mysql-config-input-mask.png
Thank you so much for replies! :) (1 Reply)
Discussion started by: devilsnake88
1 Replies
8. UNIX for Advanced & Expert Users
I am using emacs auto-complete. Auto completion works well, however text inside comments blocks is not auto completed. I want to auto complete when writing comments as well but cannot find a way to set it up yet. (0 Replies)
Discussion started by: kristinu
0 Replies
9. UNIX for Beginners Questions & Answers
When I power ON my T4-1, I got a prompt -> where I have to start /SYS and start /SP/console. How can I auto supply these two commands ? (3 Replies)
Discussion started by: z_haseeb
3 Replies
subst(n) Tcl Built-In Commands subst(n)
__________________________________________________________________________________________________________________________________________________
NAME
subst - Perform backslash, command, and variable substitutions
SYNOPSIS
subst ?-nobackslashes? ?-nocommands? ?-novariables? string
_________________________________________________________________
DESCRIPTION
This command performs variable substitutions, command substitutions, and backslash substitutions on its string argument and returns the
fully-substituted result. The substitutions are performed in exactly the same way as for Tcl commands. As a result, the string argument
is actually substituted twice, once by the Tcl parser in the usual fashion for Tcl commands, and again by the subst command.
If any of the -nobackslashes, -nocommands, or -novariables are specified, then the corresponding substitutions are not performed. For
example, if -nocommands is specified, command substitution is not performed: open and close brackets are treated as ordinary characters
with no special interpretation.
Note that the substitution of one kind can include substitution of other kinds. For example, even when the -novariables option is speci-
fied, command substitution is performed without restriction. This means that any variable substitution necessary to complete the command
substitution will still take place. Likewise, any command substitution necessary to complete a variable substitution will take place, even
when -nocommands is specified. See the EXAMPLES below.
If an error occurs during substitution, then subst will return that error. If a break exception occurs during command or variable substi-
tution, the result of the whole substitution will be the string (as substituted) up to the start of the substitution that raised the excep-
tion. If a continue exception occurs during the evaluation of a command or variable substitution, an empty string will be substituted for
that entire command or variable substitution (as long as it is well-formed Tcl.) If a return exception occurs, or any other return code is
returned during command or variable substitution, then the returned value is substituted for that substitution. See the EXAMPLES below.
In this way, all exceptional return codes are "caught" by subst. The subst command itself will either return an error, or will complete
successfully.
EXAMPLES
When it performs its substitutions, subst does not give any special treatment to double quotes or curly braces (except within command sub-
stitutions) so the script
set a 44
subst {xyz {$a}}
returns "xyz {44}", not "xyz {$a}" and the script
set a "p} q {r"
subst {xyz {$a}}
returns "xyz {p} q {r}", not "xyz {p} q {r}".
When command substitution is performed, it includes any variable substitution necessary to evaluate the script.
set a 44
subst -novariables {$a [format $a]}
returns "$a 44", not "$a $a". Similarly, when variable substitution is performed, it includes any command substitution necessary to
retrieve the value of the variable.
proc b {} {return c}
array set a {c c [b] tricky}
subst -nocommands {[b] $a([b])}
returns "[b] c", not "[b] tricky".
The continue and break exceptions allow command substitutions to prevent substitution of the rest of the command substitution and the rest
of string respectively, giving script authors more options when processing text using subst. For example, the script
subst {abc,[break],def}
returns "abc,", not "abc,,def" and the script
subst {abc,[continue;expr {1+2}],def}
returns "abc,,def", not "abc,3,def".
Other exceptional return codes substitute the returned value
subst {abc,[return foo;expr {1+2}],def}
returns "abc,foo,def", not "abc,3,def" and
subst {abc,[return -code 10 foo;expr {1+2}],def}
also returns "abc,foo,def", not "abc,3,def".
SEE ALSO
Tcl(n), eval(n), break(n), continue(n)
KEYWORDS
backslash substitution, command substitution, variable substitution
Tcl 7.4 subst(n)