summaryrefslogtreecommitdiffstats
path: root/lisp/init-eshell.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/init-eshell.el')
-rw-r--r--lisp/init-eshell.el16
1 files changed, 16 insertions, 0 deletions
diff --git a/lisp/init-eshell.el b/lisp/init-eshell.el
new file mode 100644
index 0000000..e7e37e6
--- /dev/null
+++ b/lisp/init-eshell.el
@@ -0,0 +1,16 @@
+(require 'eshell)
+
+(defun eshell-other-window (&optional noselect)
+ "Create an interactive Eshell buffer in another window."
+ (interactive)
+ (with-current-buffer (get-buffer-create eshell-buffer-name)
+ (unless (eq major-mode 'eshell-mode)
+ (eshell-mode)))
+ (let ((current-window (selected-window)))
+ (switch-to-buffer-other-window eshell-buffer-name)
+ (when noselect
+ (select-window current-window))))
+
+(global-set-key (kbd "C-c k") 'eshell-other-window)
+
+(provide 'init-eshell)