mirror of
https://github.com/keanuplayz/dotfiles.git
synced 2024-08-15 02:33:12 +00:00
Merge pull request #215 from dmitmel/master
This commit is contained in:
commit
5517419413
5 changed files with 68 additions and 31 deletions
|
@ -2,11 +2,12 @@
|
|||
let g:gitgutter_map_keys = 0
|
||||
nnoremap <leader>gg :G
|
||||
nnoremap <leader>g :Git<space>
|
||||
nnoremap <leader>gs :vertical Gstatus<CR>
|
||||
nnoremap <leader>gd :Gdiff
|
||||
nnoremap <leader>gb :Gblame<CR>
|
||||
nnoremap <leader>gw :Gbrowse<CR>
|
||||
nnoremap <leader>gs :vertical Git<CR>
|
||||
nnoremap <leader>gd :Gdiffsplit
|
||||
nnoremap <leader>gb :Git blame<CR>
|
||||
nnoremap <leader>gw :GBrowse<CR>
|
||||
nnoremap <leader>gW :.GBrowse<CR>
|
||||
nnoremap <leader>gc :Gcommit %
|
||||
nnoremap <leader>gl :Glog<CR>
|
||||
nnoremap <leader>gp :Gpush
|
||||
nnoremap <leader>gl :Gclog<CR>
|
||||
nnoremap <leader>gp :Git push
|
||||
" }}}
|
||||
|
|
|
@ -74,7 +74,12 @@ alias du='du -h'
|
|||
alias df='df -h'
|
||||
alias free='free -h'
|
||||
|
||||
alias apt-get="echo -e \"use 'apt' instead of 'apt-get'\nif you really want to use 'apt-get', type '"'\\\\'"apt-get'\" #"
|
||||
if command_exists apt && command_exists apt-get; then
|
||||
apt_get_message="use 'apt' instead of 'apt-get'
|
||||
if you really want to use 'apt-get', type '\\apt-get'"
|
||||
alias apt-get="echo -E ${(qqq)apt_get_message} #"
|
||||
unset apt_get_message
|
||||
fi
|
||||
|
||||
# editor
|
||||
alias edit="$EDITOR"
|
||||
|
@ -97,3 +102,9 @@ alias bin-list-dylib-symbols='nm -gD'
|
|||
# Duplicated as an alias to prevent autocorrection of the real "command" part.
|
||||
# See also scripts/prime-run
|
||||
alias prime-run='__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia '
|
||||
|
||||
if ! command_exists update-grub; then
|
||||
# Doesn't exist on Arch by default. Probably implementing this command was
|
||||
# left as a challenge to the documentation reader.
|
||||
alias update-grub="grub-mkconfig -o /boot/grub/grub.cfg"
|
||||
fi
|
||||
|
|
|
@ -40,9 +40,12 @@ zstyle ':completion:*:processes' force-list always
|
|||
|
||||
_completion_get_hosts() {
|
||||
print localhost
|
||||
if [[ -f ~/.ssh/config ]]; then
|
||||
awk "match(\$0, /^Host[[:blank:]]*/) { print substr(\$0, RLENGTH+1); }" ~/.ssh/config
|
||||
local line
|
||||
< ~/.ssh/config while IFS= read -r line; do
|
||||
if [[ "$line" =~ '^Host[[:blank:]]+(.*)[[:blank:]]*' ]]; then
|
||||
print -- "${match[1]}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
zstyle -e ':completion:*:hosts' hosts 'reply=("${(@f)$(_completion_get_hosts)}")'
|
||||
|
||||
|
|
56
zsh/path.zsh
56
zsh/path.zsh
|
@ -1,9 +1,11 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
# tie these env variables to zsh arrays
|
||||
typeset -T PKG_CONFIG_PATH pkg_config_path ':'
|
||||
export PATH
|
||||
export MANPATH
|
||||
|
||||
export PKG_CONFIG_PATH PATH MANPATH
|
||||
# tie these env variables to zsh arrays
|
||||
export -T PKG_CONFIG_PATH pkg_config_path ':'
|
||||
export -T LD_LIBRARY_PATH ld_library_path ':'
|
||||
|
||||
path_prepend() {
|
||||
if (( $# < 1 )); then
|
||||
|
@ -68,17 +70,36 @@ export GOPATH=~/go
|
|||
path_prepend path "$GOPATH/bin"
|
||||
|
||||
# Rust
|
||||
path_prepend path ~/.cargo/bin
|
||||
# check if the Rust toolchain was installed via rustup
|
||||
if rustup_home="$(rustup show home 2> /dev/null)" &&
|
||||
rust_sysroot="$(rustc --print sysroot 2> /dev/null)" &&
|
||||
[[ -d "$rustup_home" && -d "$rust_sysroot" && "$rust_sysroot" == "$rustup_home"/* ]]
|
||||
then
|
||||
# add paths of the selected Rust toolchain
|
||||
path_prepend fpath "$rust_sysroot/share/zsh/site-functions"
|
||||
path_prepend manpath "$rust_sysroot/share/man"
|
||||
if [[ -f ~/.rustup/settings.toml ]]; then
|
||||
# Make a low-effort attempt at quickly extracting the selected Rust toolchain
|
||||
# from rustup's settings. The TOML file is obviously assumed to be well-formed
|
||||
# and syntactically correct because virtually always it's manipulated with the
|
||||
# use of rustup's CLI. Also a shortcut is taken: strings aren't unescaped
|
||||
# because Rust toolchain names don't need escaping in strings.
|
||||
# See also <https://github.com/toml-lang/toml/blob/master/toml.abnf>.
|
||||
rust_toolchain=""
|
||||
< ~/.rustup/settings.toml while IFS= read -r line; do
|
||||
if [[ "$line" =~ '^default_toolchain = "(.+)"$' ]]; then
|
||||
rust_toolchain="${match[1]}"
|
||||
break
|
||||
elif [[ "$line" == \[*\] ]]; then
|
||||
break
|
||||
fi
|
||||
unset rustup_home rust_sysroot
|
||||
done; unset line
|
||||
|
||||
if [[ -n "$rust_toolchain" ]]; then
|
||||
rust_sysroot=~/.rustup/toolchains/"$rust_toolchain"
|
||||
path_prepend path "$rust_sysroot"/bin
|
||||
path_prepend fpath "$rust_sysroot"/zsh/site-functions
|
||||
path_prepend manpath "$rust_sysroot"/share/man
|
||||
path_prepend ld_library_path "$rust_sysroot"/lib
|
||||
unset rust_sysroot
|
||||
fi
|
||||
|
||||
unset rust_toolchain
|
||||
fi
|
||||
|
||||
path_prepend path ~/.cargo/bin
|
||||
|
||||
# add my binaries and completions
|
||||
path_prepend path "${ZSH_DOTFILES:h}/scripts"
|
||||
|
@ -88,3 +109,12 @@ path_prepend fpath "$ZSH_DOTFILES/completions"
|
|||
path_prepend path ~/.local/bin
|
||||
|
||||
unfunction path_prepend
|
||||
|
||||
# For some reason manpath is not always set when logging with ssh for instance.
|
||||
# Let's ensure that it is always set and exported. The additional colon ensures
|
||||
# that the system manpath isn't overwritten (see manpath(1)).
|
||||
if [[ -n "$MANPATH" && "$MANPATH" != *: ]]; then
|
||||
# Append a colon if MANPATH isn't empty and doesn't end with a colon already
|
||||
MANPATH="$MANPATH:"
|
||||
fi
|
||||
export MANPATH="$MANPATH"
|
||||
|
|
|
@ -46,14 +46,6 @@ _perf_timer_start "total"
|
|||
fi
|
||||
# }}}
|
||||
|
||||
# For some reason manpath is not always set when logging with ssh for instance.
|
||||
# Let's ensure that it is always set and exported. The additional colon ensures
|
||||
# that the system manpath isn't overwritten (see manpath(1)), though in reality
|
||||
# two colons get added for some reason, which is also valid, but means
|
||||
# something slightly different (again, see manpath(1)). Hope this won't cause
|
||||
# any problems in the future.
|
||||
export MANPATH="$MANPATH:"
|
||||
|
||||
for script in functions options path env plugins aliases completion zle prompt colorscheme; do
|
||||
_perf_timer_start "$script.zsh"
|
||||
source "$ZSH_DOTFILES/$script.zsh"
|
||||
|
|
Loading…
Reference in a new issue