Browse Source

rearrange code

pull/1/head
10sr 12 years ago
parent
commit
9b29ec372f
1 changed files with 74 additions and 66 deletions
  1. +74
    -66
      emacs.el

+ 74
- 66
emacs.el View File

@@ -94,16 +94,6 @@
(lambda () (lambda ()
(kill-buffer "*scratch*"))) (kill-buffer "*scratch*")))


(defun my-delete-frame-or-kill-emacs ()
"delete frame when opening multiple frame, kill emacs when only one."
(interactive)
(if (eq 1
(length (frame-list)))
(save-buffers-kill-emacs)
(delete-frame)))
(global-set-key (kbd "C-x C-c") 'my-delete-frame-or-kill-emacs)
(define-key my-prefix-map (kbd "C-x C-c") 'save-buffers-kill-emacs)

;; modifier keys ;; modifier keys
(setq mac-option-modifier 'control) (setq mac-option-modifier 'control)
(setq w32-apps-modifier 'meta) (setq w32-apps-modifier 'meta)
@@ -480,9 +470,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; global keys ;; global keys


(define-key my-prefix-map (kbd "C-f") 'make-frame-command)
(define-key my-prefix-map (kbd "C-o") 'occur) (define-key my-prefix-map (kbd "C-o") 'occur)
(define-key my-prefix-map (kbd "C-s") 'my-execute-terminal)


;; (define-key my-prefix-map (kbd "C-h") help-map) ;; (define-key my-prefix-map (kbd "C-h") help-map)
(global-set-key (kbd "C-\\") help-map) (global-set-key (kbd "C-\\") help-map)
@@ -743,9 +731,9 @@ return nil if LIB unfound and downloading failed, otherwise the path of LIB."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; frame buffer ;; frame buffer


;; (add-hook 'after-make-frame-functions
;; (lambda (frame)
;; (recentf-open-files)))
(add-hook 'after-make-frame-functions
(lambda (frame)
(switch-to-buffer (recentf-open-files))))


;; (defvar aaa nil) ;; (defvar aaa nil)
;; (plist-get aaa 'abc) ;; (plist-get aaa 'abc)
@@ -754,24 +742,29 @@ return nil if LIB unfound and downloading failed, otherwise the path of LIB."
(defvar my-frame-buffer-plist nil) (defvar my-frame-buffer-plist nil)
;; (setplist my-frame-buffer-plist nil) ;; (setplist my-frame-buffer-plist nil)


(defun my-frame-buffer-add ()
(defun my-frame-buffer-add (&optional buf frame)
"" ""
(setq my-frame-buffer-plist (setq my-frame-buffer-plist
(plist-put my-frame-buffer-plist (plist-put my-frame-buffer-plist
(selected-frame)
(let ((lst (my-frame-buffer-get)))
(or frame
(selected-frame))
(let ((lst (my-frame-buffer-get frame)))
(if lst (if lst
(add-to-list 'lst (add-to-list 'lst
(current-buffer))
(list (current-buffer)))))))
(or buf
(current-buffer)))
(list (or buf
(current-buffer))))))))


(defun my-frame-buffer-remove ()
(defun my-frame-buffer-remove (&optional buf frame)
"" ""
(setq my-frame-buffer-plist (setq my-frame-buffer-plist
(plist-put my-frame-buffer-plist (plist-put my-frame-buffer-plist
(selected-frame)
(delq (current-buffer)
(my-frame-buffer-get)))))
(or frame
(selected-frame))
(delq (or buf
(current-buffer))
(my-frame-buffer-get frame)))))


(defun my-frame-buffer-get (&optional frame) (defun my-frame-buffer-get (&optional frame)
"" ""
@@ -779,21 +772,73 @@ return nil if LIB unfound and downloading failed, otherwise the path of LIB."
(or frame (or frame
(selected-frame)))) (selected-frame))))


(defun my-frame-buffer-kill-all-buffer (frame)
(defun my-frame-buffer-kill-all-buffer (&optional frame)
"" ""
(mapcar 'kill-buffer (mapcar 'kill-buffer
(my-frame-buffer-get frame))) (my-frame-buffer-get frame)))


(add-hook 'find-file-hook (add-hook 'find-file-hook
'my-frame-buffer-add) 'my-frame-buffer-add)
;; (add-hook 'dired-mode-hook
;; 'my-frame-buffer-add)
(add-hook 'term-mode-hook
'my-frame-buffer-add)
(add-hook 'eshell-mode-hook
'my-frame-buffer-add)

(add-hook 'kill-buffer-hook (add-hook 'kill-buffer-hook
'my-frame-buffer-remove) 'my-frame-buffer-remove)
(add-hook 'delete-frame-functions (add-hook 'delete-frame-functions
'my-frame-buffer-kill-all-buffer) 'my-frame-buffer-kill-all-buffer)


(frame-parameters (selected-frame))

(defvar my-desktop-terminal "roxterm")
(defun my-execute-terminal ()
""
(interactive)
(if (and (or (eq system-type 'windows-nt)
window-system)
my-desktop-terminal
)
(let ((process-environment (cons "TERM=xterm" process-environment)))
(start-process "terminal"
nil
my-desktop-terminal))
(my-term)))

(defun my-term ()
"open terminal buffer and return that buffer."
(interactive)
(if (eq system-type 'windows-nt)
(eshell t)
(if (featurep 'multi-term)
(multi-term)
(ansi-term "/bin/bash"))))

(defvar my-frame-term-plist nil)
;; (setplist my-frame-term-plist nil)
(defun my-execute-or-find-term ()
""
(interactive)
(let* ((buf (plist-get my-frame-term-plist (selected-frame))))
(if (and buf
(buffer-name buf))
(switch-to-buffer buf)
(setq my-frame-term-plist
(plist-put my-frame-term-plist
(selected-frame)
(my-term))))))

(defun my-delete-frame-or-kill-emacs ()
"delete frame when opening multiple frame, kill emacs when only one."
(interactive)
(if (eq 1
(length (frame-list)))
(save-buffers-kill-emacs)
(delete-frame)))

(define-key my-prefix-map (kbd "C-s") 'my-execute-terminal)
(define-key my-prefix-map (kbd "C-f") 'make-frame-command)
(global-set-key (kbd "C-x C-c") 'my-delete-frame-or-kill-emacs)
(define-key my-prefix-map (kbd "C-x C-c") 'save-buffers-kill-emacs)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; term mode ;; term mode
@@ -1438,7 +1483,7 @@ Optional prefix ARG says how many lines to unflag; default is one line."


;; (defun eshell/git (&rest args) ;; (defun eshell/git (&rest args)
;; "" ;; ""
;; (eshell-parse-arguments (point-at-bol) (point-at-eol)))
;; )


(defun eshell/o (&optional file) (defun eshell/o (&optional file)
(my-x-open (or file "."))) (my-x-open (or file ".")))
@@ -1660,43 +1705,6 @@ when SEC is nil, stop auto save if enabled."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; misc funcs ;; misc funcs


(defvar my-desktop-terminal "roxterm")
(defun my-execute-terminal ()
""
(interactive)
(if (and (or (eq system-type 'windows-nt)
window-system)
my-desktop-terminal
)
(let ((process-environment (cons "TERM=xterm" process-environment)))
(start-process "terminal"
nil
my-desktop-terminal))
(my-execute-or-find-term)))

(defun my-term ()
"open terminal buffer and return that buffer."
(interactive)
(if (eq system-type 'windows-nt)
(eshell t)
(if (featurep 'multi-term)
(multi-term)
(ansi-term "/bin/bash"))))

(defvar my-frame-term-plist nil)
;; (setplist my-frame-term-plist nil)
(defun my-execute-or-find-term ()
""
(interactive)
(let* ((buf (plist-get my-frame-term-plist (selected-frame))))
(if (and buf
(buffer-name buf))
(switch-to-buffer buf)
(setq my-frame-term-plist
(plist-put my-frame-term-plist
(selected-frame)
(my-term))))))

(defun my-format-time-string (&optional time) (defun my-format-time-string (&optional time)
"" ""
(let ((system-time-locale "C")) (let ((system-time-locale "C"))


Loading…
Cancel
Save