ZSH (shell)

Good sites:

http://zsh.sourceforge.net/Guide/zshguide.html

http://zsh.sourceforge.net/Intro/intro_toc.html

http://zshwiki.org/home

 

 

The ZSH options for the autocorrection prompt:    [nyae]

Meaning
y = yes, execute the suggestion
n = no, don't execute it, use exactly what I typed
a = abort, I don't want what I typed or the suggestion
e = edit, I don't want the suggestion, I want to edit what I typed

 

 

 

Hopefully I will one day have a decent, well-commented .zshrc file to put here:  _____

             For now, mine is still in-progress.

 

 

3.2: In which startup file do I put...?

When zsh starts up, there are four files you can change which it will run under various circumstances: .zshenv, .zprofile, .zshrc and .zlogin. They are usually in your home directory, but the variable $ZDOTDIR may be set to alter that. Here are a few simple hints about how to use them. There are also files which the system administrator can set for all shells; you can avoid running all except /etc/zshenv by starting zsh with the -f option --- for this reason it is important for administrators to make sure /etc/zshenv is as brief as possible.

The order in which the four files are searched (none of them need to exist) is the one just given. However, .zprofile and .zlogin are only run when the shell is a login shell --- when you first login, of course, and whenever you start zsh with the -l option. All login shells are interactive. The order is the only difference between those; you should decide whether you need things set before or after .zshrc. These files are a good place to set environment variables (i.e. export commands), since they are passed on to all shells without you having to set them again, and also to check that your terminal is set up properly (except that if you want to change settings for terminal emulator windows like xterm you will need to put those in .zshrc, since usually you do not get a login shell here).

The only file you can alter which is started with every zsh (unless you use the -f option) is .zshenv, so this is a good place to put things you want even if the shell is non-interactive: options for changing the syntax, like EXTENDED_GLOB, any changes to set with limit, any more variables you want to make sure are set as for example $fpath to find functions. You almost certainly do not want .zshenv to produce any output. Some people prefer not to use .zshenv for setting options, as this affects scripts; but making zsh scripts portable usually requires special handling anyway.

Finally, .zshrc is run for every interactive shell; that includes login shells, but also any other time you start up a shell, such as simply by typing zsh or opening a new terminal emulator window. This file is the place to change the editing behaviour via options or bindkey, control how your history is saved, set aliases unless you want to use them in scripts too, and for any other clutter which can't be exported but you only use when interacting directly with the shell. You probably don't want .zshrc to produce output, either, since there are occasions when this can be a problem, such as when using rsh from another host. See 3.21 for what to put in .zshrc to save your history.

Powered by Linux