This repository has been archived on 2022-12-11. You can view files and clone it, but cannot push or open issues or pull requests.
dot-files/.zshrc
Collin J. Doering 6e6c574abc Fix EDITOR environment variable issue for emacs
Have programs using the $EDITOR environment variable use emacsclient if
a daemon is running but otherwise fallback to plain emacs.

See: http://www.emacswiki.org/emacs/EmacsAsDaemon

Signed-off-by: Collin J. Doering <rekahsoft@gmail.com>
2015-01-14 05:12:44 -05:00

105 lines
3.4 KiB
Bash

# The following lines were added by compinstall
zstyle ':completion:*' completer _list _expand _complete _ignored _match _correct _approximate _prefix
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' matcher-list '' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-/,+]=** r:|=**' 'l:|=* r:|=*'
zstyle ':completion:*' max-errors 5
zstyle ':completion:*' preserve-prefix '//[^/]##/'
zstyle :compinstall filename '/home/collin/.zshrc'
autoload -Uz compinit
compinit
# End of lines added by compinstall
# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
bindkey -e
# End of lines configured by zsh-newuser-install
# Check for an interactive session
[ -z "$PS1" ] && return
# A function that given a unit (run under the systemd user instance) and a command runs the command while temporarily suspending the given unit (service)
function disable_unit_run() {
unit="$1"
shift
if [ "$(systemctl --user is-enabled $unit)" = "enabled" ]; then
systemctl --user disable "$unit" >> /dev/null
eval "$*"
systemctl --user enable "$unit" >> /dev/null
else
eval "$*"
fi
}
# Alias' to make command output prettier (use color with some commands by default)
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color-auto'
alias egrep='egrep --color-auto'
alias ncmpc='ncmpc -c'
alias spacman='sudo pacman'
# Alias' to make some commands a little less terse
alias skreen='screen -c /dev/null'
alias tranr='transmission-remote'
alias ctl='systemctl'
alias ctlu='systemctl --user'
alias sctl='sudo systemctl'
alias qemu='disable_unit_run unclutter qemu-system-x86_64 -enable-kvm'
alias mplayer-ascii='mplayer -vo aa:driver=curses -monitorpixelaspect 0.5 -really-quiet'
alias s='sudo'
# Shortcuts for port-knocking on rekahsoft-mini *DEPRECIATED*
alias knk='knock rekahsoft-mini 7713:tcp 1377:udp && sleep 3s && '
alias knkc='knk ssh rekahsoft-mini '
alias kgit='knk git'
# Set colors to use with grep
export GREP_COLOR="1;33"
# Use source-highlight to make code in less syntax highlighted
export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R '
# Set text/background colors for ls
export LS_COLORS="di=01;37"
# Set language * seems to be fixed by setting 256 color in .screerc)
# Note: Breaks screen (characters show up incorrectly for ncmpcpp, alsamixer, perhaps others)
# TODO: investigate and when solution found don't forget to port into ~/.bashrc
# export LANG="en_US.UTF-8"
# export LC_MESSAGES="C"
PS1="[%n@%M: %~]%% "
# Turn off noscroll
stty stop undef
# Modify path variable to allow execution of the following:
# * mathematica / tools
# * nxclient / associated tools
# * maven tools
export PATH=$HOME/.cabal/bin:$HOME/.gem/ruby/2.0.0/bin:$HOME/.bin:$HOME/.texlive/2014/bin/x86_64-linux:${PATH}:/opt/maven/bin:/opt/NX/bin:/usr/lib/smlnj/bin
ctlu import-environment PATH
# Setup smlnj (AUR)
export SMLNJ_HOME="/usr/lib/smlnj"
ctlu import-environment SMLNJ_HOME
# Setup gpg-agent
if [ -f "${HOME}/.gpg-agent-info" ]; then
. "${HOME}/.gpg-agent-info"
export GPG_AGENT_INFO
export SSH_AUTH_SOCK
fi
# start keychain
#eval `keychain --eval --timeout 10 --quiet --agents ssh id_rsa`
# Default editor
export ALTERNATE_EDITOR=""
export EDITOR="emacsclient -t" # $EDITOR should open in terminal
export VISUAL="emacsclient -c -a emacs" # $VISUAL opens in GUI with non-daemon as alternate