[This article shows vi , but the same thing will work for other editors that read a setup file when they start up. -JP]
Like many people, I want different vi options set for writing a program than for working on a text file. Here's how I do it.
Instead of putting mode lines ( 30.19 ) within each file, or writing extensions to the filenames ( 30.21 ) , I've got several different .exrc ( 30.6 ) startup files... one for each vi mode I'd like to use. I have aliases ( 10.2 ) that let me select the .exrc file I want. And I have vi aliased so that, when I start it up, it tells me which .exrc file is in use. Here are the lines (with comments) from my .cshrc ( 2.1 ) file (the CD-ROM has a set for Bourne-type shells):
~ setenv \!* sleep |
setenv EXSTAT text # INITIALIZATION FOR 'vi' ALIAS # -- THESE ALIASES RESET THE .exrc FILE -- # # SET 'vi' FOR 4-CHARACTER TABS/SHIFTS: alias 4vi 'cp ~/lib/vi/exrc4 ~/.exrc; setenv EXSTAT programming' # SET 'vi' FOR 8-CHARACTER TABS/SHIFTS: alias 8vi 'cp ~/lib/vi/exrc8 ~/.exrc; setenv EXSTAT text' # SET 'vi' FOR QUICK WORK WHEN SYSTEM IS SLOW (NO .exrc FILE): alias qvi 'rm ~/.exrc; setenv EXSTAT quick' # -- THESE ARE THE vi ALIASES. ONE SETS THE vi MODE FIRST -- # alias vi 'echo "MODE: $EXSTAT"; sleep 1; /usr/ucb/vi \!*' # CALL vi WITH A SEARCH: alias vs '8vi; vi +/\!*' |
---|
The
EXSTAT
variable remembers which setup file has been stored in the
.exrc
file. Also, because you can't start
vi
with a search (
vi +/PATTERN
) unless the
wrapscan
option has been set... so, I start the
vs
alias with an
8vi
because my
exrc8
file sets
wrapscan
. Here's an example. I'll edit the file
report
and search for a line that has the word
misteak
:
%vs misteak report
MODE: text "report" 45 lines, 2734 characters
-