From 3594f7785dc5f5f0257002fea7cae4b0776e1f9e Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Tue, 26 Feb 2019 09:33:02 +0100 Subject: bin: added the `e` script This is a shortcut to be used for reaching out to the default editor from the CLI. Notice that it also handles the root user. --- bashrc | 11 ++++------- bin/e | 27 +++++++++++++++++++++++++++ install.sh | 1 + 3 files changed, 32 insertions(+), 7 deletions(-) create mode 100755 bin/e diff --git a/bashrc b/bashrc index f6f2cc9..0791da6 100644 --- a/bashrc +++ b/bashrc @@ -30,16 +30,13 @@ source_maybe() { # Editors & terminals. # Set GNU Emacs as the default editor. You can find this `emacsclient-a-nw` -# executable in the `bin` directory of my dotfiles. +# executable in the `bin` directory of my dotfiles. That being said, in the +# `bin` directory there is a globally installed script called `e`. This is the +# script that will be called most of the times from the CLI for reaching out to +# the default editor. export EDITOR=emacsclient-a-nw export VISUAL=emacsclient-a-nw alias vi=vim -alias e=$EDITOR - -# Shortcut for GNU Emacs. -em() { - emacsclient -c -a "" -t "$1" -} # Alias xdg-open to just xo alias xo=xdg-open diff --git a/bin/e b/bin/e new file mode 100755 index 0000000..1a34419 --- /dev/null +++ b/bin/e @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright (C) 2019 Miquel Sabaté Solà +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# A handy shortcut for opening up the default editor with the given +# arguments. If this script is run by root, then it will start GNU Emacs with +# the --quick flag. +# +# NOTE: this script is meant to be installed globally. + +if [[ $EUID -eq 0 ]]; then + exec emacs --quick --no-window-system "$@" +else + exec "$EDITOR" "$@" +fi diff --git a/install.sh b/install.sh index 032612b..224546d 100755 --- a/install.sh +++ b/install.sh @@ -35,6 +35,7 @@ chmod +x $HOME/.rake_completion cp -r bin $HOME/bin rm -rf $HOME/bin/test chmod +x $HOME/bin/* +sudo mv $HOME/bin/e /usr/bin/e # i3 and X stuff. An incomplete list of openSUSE packages that I need in order # to have a good i3 environment is: i3 xlockmore dunst i3status nitrogen scrot -- cgit v1.2.3