The option '-F' causes 'less' to automatically quit if the contents fit
the screen and the option '-X' causes 'less' to not clear the screen after
quit. I think both options are generally useful for terminal applications.
They are in particular useful for Git as it runs all output through a
pager. Git will run 'less' with '-FRX' by default if the environment
variable $LESS is not defined [1]. Since oh-my-zsh used to set $LESS to
'-R', Git would not override this setting. Consequently, Git would
display even a single line of output in a pager and the user would need
to explicitly quit that pager (see mailing list discussion [2]).
Therefore, lets change the oh-my-zsh default value for $LESS to '-FRX'.
This would be useful for oh-my-zsh Git users and likely for users of
other applications that use 'less' too.
[1] 36438dc19d/Documentation/config.txt (L819-L821)
[2] https://public-inbox.org/git/2412A603-4382-4AF5-97D0-D16D5FAAFE28@eluvio.com/
Sourcing oh-my-zsh happens in zshrc, which will override settings of
profile and zshenv. Treat misc values, `PAGER` and `LESS`, as default
settings without overriding existing values.
Fixes: #1, robbyrussell/oh-my-zsh#3016
LANG is a colon-separated list of prefered locales; LC_CTYPE is single entry,
therefore we need to remove all but one entry.
Also, there is no need setting it if it is already set (LC_ALL also sets
LC_CTYPE, so we check it too).