zsh: Cursor wie in der Bash

Seit einiger Zeit benutze ich die zsh. Viele nützliche Kleinigkeiten. Weil ich viel mit der Tastatur mache, stört mich aber, dass das Cursor-Verhalten anders ist als bei der bash, wenn man wortweise springt. So lässt es sich einstellen, dass es wie in der bash geht: In der .zshrc: # bash-like cursor movement # see http://stackoverflow.com/questions/10847255/how-to-make-zsh-forward-word-behaviour-same-as-in-bash-emacs Read More…

zsh

Kompatibler Ersatz zur bash – nur viele Details besser. z.B. Angenehmeres Verhalten beim Rückwärts-Suchen mit ctrl-R. Übersichtlichere und hübschere Tab-Completion git-Unterstützung: Completion (kennt git-Kommandos und -Logik). Der Prompt zeigt schon die wesentlichen Infos von git status an, sobald man in einem git-Verzeichnis ist. Sehr super! history sharing (muss man erst aktivieren – s.u.). Viele Plugins Read More…

Visual Studio Code – cool obwohl von Microsoft – auch für Mac

Das neue Visual Studio Code scheint mir recht interessant: Schnell und leichtgewichtig. Ich habe es gerade mal zum Debugen einer node.js-Anwendung ausprobiert: Nett 🙂 Integriert mit git, Auto-Completion etc. etc. Eine Weile gebraucht habe ich, um rauszukriegen, dass man die Parameter in der launch.json am besten mit — abtrennt (s.u.). Ansonsten kommt man recht schnell Read More…

Mac-Terminal etwas bunter

Ich habe zwischen manchen unübersichtlichen Ausgaben im Terminal schon öfters den Prompt übersehen, wenn ich die Ausgaben durchgeschaut habe. Hier ist beschrieben, wie man das besser – also Farbiger – macht. Beim mir hat der „Kern“ des Ganzen ausgereicht: vi ~/.bash_profile: export PS1=“\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ “ export CLICOLOR=1 export LSCOLORS=ExFxBxDxCxegedabagacad alias ls=’ls -GFh‘ (Im Link oben ist Read More…

Verhindern, dass Shell-Skripts mehrfach gleichzeitig laufen

Oft habe ich den Fall, dass ein Shell-Skript im Cron läuft. Manchmal läuft es aber so lange, dass es vom cron ein zweites Mal gestartet wird. Das will ich verhindern. Nun habe ich eine schicke Lösung gefunden: lockfile=/var/lock/.$(basename $0).exclusivelock ( # Wait for lock on $lockfile (fd 200) for 10 seconds if ! flock -x Read More…