53 Commits

Author SHA1 Message Date
d226ac7097 Also load ~/.config/private/zshrc if present 2023-02-16 10:26:38 +00:00
b95b365276 Don't attempt to set invalid environment variable names 2022-11-25 13:28:49 +00:00
c691d335c0 Disable zsh-history-substring-search highlights 2022-10-11 17:16:23 +01:00
715014ed3d Specify compdump file location to compinit 2022-09-20 22:45:54 +01:00
c61c86e979 Add ~Sandbox hashed directory 2022-06-12 21:03:54 +01:00
a362ab0e04 Prefer nvim over vim for EDITOR, don't use which 2022-02-26 17:22:51 +00:00
b4d22fc49f Remove guake workaround 2021-03-09 19:19:08 +00:00
6be7ac0e4e Fix cls alias when in tmux on iTerm2 2020-07-31 12:24:43 +01:00
a67649e844 Add frequent-directory function
`frequent-directory` exports and environment variable and creates a hash
directory with the given argument of the form `<name>=<path>`.
2020-07-30 11:24:56 +01:00
01fcdc1863 Update cls to work correctly in Windows Terminal 2020-07-17 23:10:16 +01:00
6d92a82d8c Load autoenv plugin later to make build-dir ready 2020-07-08 16:06:14 +01:00
9854518c76 Fix Home/End on Arch where $key is not auto setup 2019-09-18 22:01:12 +01:00
7a8cf750bd Don't apply Begin/End key fix on macOS 2019-06-07 20:07:32 +01:00
0da54801e4 Fix HOME and END key bindings in zle 2019-05-22 10:51:54 +01:00
4b2b0d38c7 Drop fast-syntax-highlighting due to being wrong
When using `git` aliases, the alias would be highlighted red by
fast-syntax-highlighting even though the alias is valid so remove it and
go back to zsh-syntax-highlighting instead.
2019-05-02 12:10:37 +01:00
b842fb6437 Add utilities plugin with archive extract command 2019-01-21 12:47:09 +00:00
ce65ae40bc Add weather alias to curl wttr.in 2019-01-08 12:31:27 +00:00
8b099b103b Add ~/Projects hashed directory 2018-09-13 10:28:51 +01:00
8819cd4d18 Make C-S work in vim again 2018-08-30 22:48:26 +01:00
585925df38 Fix vi-mode grips
Tips from [zsh-vimto](https://github.com/laurenkt/zsh-vimto).

* Remove delay when changing mode
* Enable backspace when returning to viins from vicmd mode
2018-08-30 22:44:22 +01:00
2ac97afdd1 Update options
Fix spellings of various options, enable some new options found in
[https://github.com/willghatch/zsh-saneopt](zsh-saneopt).
2018-08-30 22:30:11 +01:00
0ab04406ec Fix macOS PATH being rewritten in /etc/zprofile
macOS is obnoxious and overwrites the PATH from a users ~/.zshenv, which is
sourced first, in /etc/zprofile by calling `/usr/libexec/path_helper -s` so
this is required so that PATH is once again set to the desired value.
2018-08-26 20:19:12 +01:00
e17ff47d5e Only load layout when inside tmux 2018-08-26 19:11:29 +01:00
9b54ebc366 Add fast-syntax-highlighting theme: fresh 2018-08-22 13:44:57 +01:00
90b3e24789 Load work config if present 2018-08-20 10:23:33 +01:00
ada3cb7d3d Add layout and note plugins 2018-08-20 10:16:45 +01:00
b61ebc4f7a Enable sandbox plugin 2018-08-19 22:20:09 +01:00
64dcee0d78 Use fast-syntax-highlighting
Replace zsh-syntax-highlighting plugin with the improved
fast-syntax-highlighting, faster and more accurate.
2018-07-19 23:52:47 +01:00
128cc3c57a Remove unused tmux split aliases 2018-07-19 23:14:45 +01:00
8e04758760 Fix debug alias always picking gdb 2018-06-17 23:04:59 +01:00
52f42a7875 Edit the command line with ^F in normal mode 2018-06-09 17:41:07 +01:00
639e1b9cee Fix typo in CMAKE_EXPORT_COMPILE_COMMANDS 2018-06-08 19:57:33 +01:00
b12dcfe243 Add build utility commands
* `build` is an alias which on first use invokes `build-dir --build` to
  select a build directory, reconfigure the `build` alias, and invoke
  the `build` alias on the selected build directory.
* `debug` is an alias to the installed system native debugger.
* `build-dir` is a function to select a build directory by reconfiguring
  the `build` alias, it detects `build.ninja` or `Makefile` in the build
  directory and selects the appropriate `ninja` or `make` command.
  Depends on the `build-dir.py` Python script which uses the `pick`
  package to interactively select the build directory.
* `build-run` is a function which builds the specified target then
  attempts to run it, making the assumption it resides in the `bin`
  subdirectory of the build directory.
* `build-debug` is a function which build the specified tared then
  attempts to debug it using the system native debugger, making the
  assumption it resides in the `bin` subdirectory of the build
  directory.
2018-05-01 23:25:31 +01:00
40c2395f43 Add default pip completion
The default pip completion is suboptimal because it uses the old Zsh
completion engine which is compatible with bash.
2018-04-24 20:47:50 +01:00
9f7367c550 Add autoenv, automatic environment setup
Using a hook, automatically detect when `.enter` and `.exit` scripts
and source them when changing the shells current directory.

Fixes #3.
2018-04-22 19:03:53 +01:00
d58e543c78 Improve & rename plugin sourcing function
Rename `plugin-load` to `source-plugin` and add a check for the plugin
directory, a message is displayed if it does not exist.
2018-04-22 12:15:38 +01:00
9e77e83d7f Only add aliases when the target command exists
Previously aliases for commands were added without checking if the
command being aliased existed first, this is now not the case.
2018-04-21 17:18:43 +01:00
5a1ef73524 Fix ccache compiler aliases being first in PATH
Add ccache symlink directory to start of PATH, this must be after
`typeset -U PATH` because on macOS this reorders the list so ccache's
symlinks will no longer be at the start of PATH rendering it unusable.
2018-04-21 16:59:35 +01:00
0ecc231c18 Fully disable tty flow control
From experimenting `unsetopt flow_control` seems to only disable flow
control for Zsh itself, not for child processes like Vim. To fix the
issue also call `stty -ixon` to disable flow control completely.

Fixes #8
2018-04-15 17:22:41 +01:00
2c189c87e6 Support changing cursor shape in iTerm2 in tmux
Depends on setting the following in `.tmux.conf`:

    set -ga terminal-overrides '*:Ss=\E]1337;CursorShape=%p1%d\7'

This allows changing the iTerm2 cursor shape using the same escape
sequences as used for VTE compatible terminals.
2018-01-02 16:54:49 +00:00
a450b3cb45 Fix cursor shape change bug in tmux
Sending escape sequences directly from zsh and bypassing tmux results in
the wrong cursor shape when switching between panes which no longer
reflect the current zsh vi mode.

When using ZTE compatible terminals tmux supports tracking cursor shape
changes on a per pane basis using a suitable `terminal-override`, this
allows zsh and vim to behave as if they are not operating in tmux and
everything works as expected. However, so far I've not been able to
reproduce this behaviour in iTerm2.
2018-01-02 16:54:49 +00:00
2846e7d68e Enable reverse order completions 2018-01-02 16:54:49 +00:00
9da4d8ee71 Add autosuggestions plugin
Fish-like autosuggestions for zsh
2018-01-02 16:54:45 +00:00
e04b49633c Add cursor shape change dependant on vi mode 2017-12-01 16:58:41 +00:00
a8fe7e42af Remove incorrect vi bindings 2017-12-01 16:57:24 +00:00
d7daa09b22 Reorder options and make them lower case 2017-11-30 21:05:43 +00:00
c3c6b83313 Remove duplicates from MANPATH and INFOPATH too 2017-11-30 20:52:10 +00:00
29b73d3b26 Add whole line vicmd bindings 2017-11-30 20:51:51 +00:00
0e734bbc7b Remove prompt options, they are enable in a theme 2017-11-30 20:44:56 +00:00
35942cdc09 Fix spelling of ls --color option 2017-11-30 15:27:48 +00:00