Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@roman
Created January 31, 2015 00:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save roman/33958a8acaa22922a32a to your computer and use it in GitHub Desktop.
Save roman/33958a8acaa22922a32a to your computer and use it in GitHub Desktop.
(defvar navorski-packages
'(navorski))
(defun navorski/terminal-line-mode ()
(interactive)
(when (term-in-char-mode)
(term-line-mode)
(linum-mode 1))
(when (evil-emacs-state-p)
(evil-normal-state)))
(defun navorski/terminal-char-mode ()
(interactive)
(when (evil-normal-state-p)
(evil-emacs-state))
(when (term-in-line-mode)
(term-char-mode)
(linum-mode 0)))
(defun navorski/terminal-toggle-mode ()
(interactive)
(cond
;; on char mode
((term-in-char-mode)
(progn
(term-line-mode)
(linum-mode 1)))
;; on line mode
((term-in-line-mode)
(progn
(term-char-mode)
(evil-emacs-state)
(linum-mode 0)))
;; else
(t nil)))
(defun navorski/set-keybidings ()
(evil-local-set-key 'emacs
(kbd "<f7> n") 'navorski/terminal-line-mode)
(evil-local-set-key 'normal
(kbd "<f7> e") 'navorski/terminal-char-mode))
(defun navorski/init-navorski ()
(use-package navorski
:config
(progn
(setq-default multi-term-program (or (getenv "SHELL")
"/bin/sh"))
(evil-set-initial-state 'term-mode 'emacs)
(evil-leader/set-key "]" 'nav/term)
(add-hook 'term-mode-hook 'navorski/set-keybidings))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment