     (and last-noterm-buffer (switch-to-buffer last-noterm-buffer))
     ))
 
+(defun hong/clear-shell ()
+  (interactive)
+  (erase-buffer)
+  (comint-send-input))
+
 (provide 'init-shell)

;;; comint mode
(add-hook 'comint-mode-hook
          (lambda ()
            (define-key comint-mode-map (kbd "C-t") 'hong/switch-non-terminal-buffer)
            (define-key comint-mode-map (kbd "C-p") 'comint-previous-input)
            (define-key comint-mode-map (kbd "C-n") 'comint-next-input)

(global-set-key (kbd "<f3>") 'hong/shell-run)
(defalias 'sh 'shell)
(defalias 'mt 'multi-term)
(defalias 'mtdo 'multi-term-dedicated-open)

(defun hong//list-find-ret (list func)
  (cond ((funcall func (car list)) (car list))
