aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bashrc11
-rwxr-xr-xbin/e27
-rwxr-xr-xinstall.sh1
3 files changed, 32 insertions, 7 deletions
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à <mikisabate@gmail.com>
+#
+# 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 <http://www.gnu.org/licenses/>.
+
+# 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