|
1 | 1 | # Zsh Line Editor |
2 | 2 | typeset -g zle_highlight=(region:bg=black) # Highlight the background of the text when selecting. |
3 | 3 | typeset -g WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' # List of characters considered part of a word. |
| 4 | +setopt COMBINING_CHARS # Handle combining characters correctly (macOS NFD Unicode). |
4 | 5 | setopt NO_BEEP # Don't beep on errors. |
5 | 6 | setopt VI # Use vi emulation mode. |
6 | 7 |
|
7 | 8 | # Changing Directories |
8 | 9 | typeset -g DIRSTACKSIZE=9 # The maximum size of the directory stack for `pushd` and `popd`. |
9 | 10 | setopt AUTO_CD # If can't execute the directory, perform the cd command to that. |
10 | 11 | setopt AUTO_PUSHD # Make cd push the old directory onto the directory stack. |
11 | | -setopt NO_CDABLE_VARS # Don't expand arguments given to a cd command. |
12 | | -setopt NO_CHASE_DOTS # Don't resolve symbolic links upon path segments. |
13 | | -setopt NO_CHASE_LINKS # Don't resolve symbolic links upon changing directories. |
14 | | -setopt NO_POSIX_CD # Make cd command POSIX incompatible. |
15 | 12 | setopt PUSHD_IGNORE_DUPS # Don't push multiple copies of the same directory onto the stack. |
16 | 13 | setopt PUSHD_MINUS # Exchanges the meanings of `+` and `-` for pushd. |
17 | 14 | setopt PUSHD_SILENT # Do not print the directory stack after pushd or popd. |
18 | 15 | setopt PUSHD_TO_HOME # Have pushd with no arguments act like `pushd $HOME`. |
19 | 16 |
|
20 | 17 | # Completion |
21 | | -setopt COMPLETE_ALIASES # Prevent aliases from being substituted before completion is attempted. |
22 | 18 | setopt COMPLETE_IN_WORD # Attempt to start completion from both ends of a word. |
23 | | -setopt GLOB_COMPLETE # Don't insert anything resulting from a glob pattern, show completion menu. |
24 | | -setopt NO_LIST_BEEP # Don't beep on an ambiguous completion. |
25 | | -setopt LIST_PACKED # Try to make the completion list smaller by drawing smaller columns. |
26 | | -setopt MENU_COMPLETE # Instead of listing possibilities, select the first match immediately. |
27 | 19 |
|
28 | 20 | # Expansion and Globbing |
29 | | -setopt BRACE_CCL # Expand expressions in braces which would not otherwise undergo brace expansion. |
30 | 21 | setopt EXTENDED_GLOB # Treat the `#`, `~` and `^` characters as part of patterns for globbing. |
31 | 22 | setopt GLOB_DOTS # Don't require a leading '.' in a filename to be matched explicitly. |
32 | 23 | setopt MAGIC_EQUAL_SUBST # Unquoted arguments of the form `key=value` have filename expansion performed. |
33 | 24 | setopt MARK_DIRS # Append a trailing `/` to all directory names resulting from globbing. |
34 | 25 | setopt NO_NOMATCH # If a pattern has no matches, don't print an error, leave it unchanged. |
35 | | -# setopt WARN_CREATE_GLOBAL # Warn when a global variables is created in a function. |
36 | | -# setopt WARN_NESTED_VAR # Warn when an existing variables from an outer scope is set in a function. |
37 | 26 |
|
38 | 27 | # Disable History (History is managed by `atuin`.) |
39 | 28 | typeset -g SAVEHIST=0 # Disable saving history. |
40 | 29 | unset HISTFILE # Don't use a history file. |
41 | 30 |
|
42 | 31 | # Input/Output |
43 | | -typeset -g KEYTIMEOUT=10 # The time the shell waits, for another key to be pressed in milliseconds. |
| 32 | +typeset -g KEYTIMEOUT=20 # The time the shell waits, for another key to be pressed in milliseconds. |
44 | 33 | setopt NO_CLOBBER # Don't allow `>` redirection to override existing files. Use `>!` instead. |
45 | 34 | setopt NO_FLOW_CONTROL # Disable flow control characters `^S` and `^Q`. |
46 | | -setopt NO_IGNORE_EOF # Enable ^D to logout, exit on end-of-file. |
47 | 35 | setopt INTERACTIVE_COMMENTS # Allow comments even in interactive shells. |
48 | 36 | setopt RM_STAR_WAIT # Before executing `rm *` first wait 10 seconds and ignore anything typed. |
49 | 37 |
|
|
0 commit comments