(setq scroll-step 1)
(setq scroll-margin 5)
- (fringe-mode '(0 . 0))
+ (when (display-graphic-p)
+ (fringe-mode '(0 . 0)))
#+END_SRC
*** Custom file
(setq org-ditaa-jar-path "/usr/local/Cellar/ditaa/0.9/libexec/ditaa0_9.jar")
(unless
(file-exists-p org-ditaa-jar-path)
- (warn "seudut: ditaa.jar not found at %s " org-ditaa-jar-path))
+ (message "seudut: ditaa.jar not found at %s " org-ditaa-jar-path))
(org-babel-do-load-languages 'org-babel-load-languages
'((python . t)
(define-key map "n" nil)
(define-key map "p" nil)
(define-key map "v" 'recenter-top-bottom)
- (define-key map "i" 'magit-section-toggle)))
+ (define-key map "i" 'magit-section-toggle))
+ (define-key magit-mode-map "q" (lambda () (interactive)
+ (magit-mode-bury-buffer t))))
#+END_SRC
* Eshell
** Save File Position
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(require 'saveplace)
+ (setq save-place-file "~/.emacs.d/temp/saveplace")
(setq-default save-place t)
(setq save-place-forget-unreadable-files t)
(setq save-place-skip-check-regexp "\\`/\\(?:cdrom\\|floppy\\|mnt\\|/[0-9]\\|\\(?:[^@/:]*@\\)?[^@/:]*[^@/:.]:\\)")
#+END_SRC
* Dired
+** Dired basic
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (setq dired-dwim-target t)
+
+ (use-package dired-details
+ :ensure t
+ :config
+ (setq-default dired-details-hidden-string "--- ")
+ (dired-details-install))
+#+END_SRC
** Dired bindings
=C-o= is defined as a global key for window operation, here unset it in dired mode
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
#+END_SRC
* Programming Language
+** Color identiifiers mode
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package color-identifiers-mode
+ :ensure t)
+#+END_SRC
+** Font lock face
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (set-face-attribute 'font-lock-keyword-face nil :weight 'bold)
+ (set-face-attribute 'font-lock-builtin-face nil :weight 'bold)
+#+END_SRC
** Emacs Lisp
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(use-package color-identifiers-mode
("\".*\\(\\\n\\).*\"" . font-lock-constant-face)
("\n" . font-lock-constant-face)
("\\(^#!.*\\)$" . cperl-nonoverridable-face)))
-
- ;; (font-lock-add-keywords 'Man-mode
- ;; '(("\\(NAME\\)" . font-lock-function-name-face)))
-
#+END_SRC
** C & C++
;; objective c
(add-to-list 'auto-mode-alist '("\\.mm\\'" . objc-mode))
+
+ (setq c-hungry-delete-key t)
#+END_SRC
*** irony
;; set racket path
(setenv "PATH" (concat (getenv "PATH")
- ":" "/Applications/Racket v6.6/bin"))
+ ":" "/Applications/Racket v6.10.1/bin"))
(setenv "MANPATH" (concat (getenv "MANPATH")
- ":" "/Applications/Racket v6.6/man"))
- (setq exec-path (append exec-path '("/Applications/Racket v6.6/bin")))
+ ":" "/Applications/Racket v6.10.1/man"))
+ (setq exec-path (append exec-path '("/Applications/Racket v6.10.1/bin")))
(add-to-list 'auto-mode-alist '("\\.rkt\\'" . racket-mode))
#+END_SRC
(setq compilation-auto-jump-to-next t)
(setq compilation-scroll-output 'first-error)
;; this will save all the modified buffers before compile
- (setq compilation-ask-about-save nil))
+ (setq compilation-ask-about-save nil)
+ (setq compilation-window-height (/ (window-total-height) 3)))
;; super-r to compile
(with-eval-after-load "compile"
(define-key compilation-mode-map (kbd "C-o") nil)
(define-key compilation-mode-map (kbd "n") 'compilation-next-error)
(define-key compilation-mode-map (kbd "p") 'compilation-previous-error)
+ (define-key compilation-mode-map (kbd "q") (lambda () (interactive) (quit-window t)))
(define-key compilation-mode-map (kbd "r") #'recompile))
(:mailing-list . 20)
(:thread-subject . 70)
(:human-date . 16))))
- (warn "seudut:mu4e not installed, it won't work."))
+ (message "seudut:mu4e not installed, it won't work."))
#+END_SRC
** Smtp - send mail
** Global key bingding
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(global-set-key (kbd "C-h") 'delete-backward-char)
+ (global-set-key (kbd "s-m") 'man)
+#+END_SRC
+
+Refer [[https://github.com/fnwiya/dotfiles/blob/c9ca79f1b22c919d9f4c3a0f944ba8281255a594/setup/.emacs.d/loader-init/_90-kill-region-or-backward-kill-word.el][kill-region-or-backward-kill-word]]
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (require 'utilities)
+ (global-set-key (kbd "C-w") 'sd/kill-region-or-backward-kill-word)
#+END_SRC
+
+
** Esc in minibuffer
Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g=
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(dired-jump)))
#+END_SRC
+Kill the help window and buffer when quit.
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (with-eval-after-load "help-mode"
+ (define-key help-mode-map (kbd "q") (lambda ()
+ (interactive)
+ (quit-window t))))
+
+ (with-eval-after-load 'man
+ (set-face-attribute 'Man-overstrike nil :inherit 'bold :foreground "orange red")
+ (set-face-attribute 'Man-underline nil :inherit 'underline :foreground "forest green")
+ (define-key Man-mode-map (kbd "q") (lambda ()
+ (interactive)
+ (Man-kill))))
+
+
+ ;; (advice-add 'man :after (lambda (man-args) (other-window 1)))
+ (advice-add 'man :after (apply-partially 'other-window 1))
+
+
+ (require 'shell-command-output-mode)
+
+ (defun my/shell-command-after (command &optional output-buffer error-buffer)
+ (let* ((buffer (get-buffer "*Shell Command Output*"))
+ (window (get-buffer-window buffer)))
+ (if buffer (with-current-buffer buffer
+ (shell-command-output-mode)))
+ (if window
+ (select-window window))))
+
+ (advice-add 'shell-command :after 'my/shell-command-after)
+#+END_SRC
+
** Motion
- =C-M-=
[[https://www.masteringemacs.org/article/effective-editing-movement][effective-editing-movement]]
#+END_SRC
*** TODO make expand-region hydra work with lispy selected
-** =C-w= delete backward word
-Refer [[https://github.com/fnwiya/dotfiles/blob/c9ca79f1b22c919d9f4c3a0f944ba8281255a594/setup/.emacs.d/loader-init/_90-kill-region-or-backward-kill-word.el][kill-region-or-backward-kill-word]]
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (require 'utilities)
- (global-set-key (kbd "C-w") 'sd/kill-region-or-backward-kill-word)
-#+END_SRC
* Developing
** perspeen
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (use-package perspeen
- :ensure t
- :init
+ ;; (use-package perspeen
+ ;; :ensure t
+ ;; :init
+ ;; (setq perspeen-use-tab nil)
+ ;; :config
+ ;; (perspeen-mode))
+
+ (el-get-bundle seudut/perspeen
+ :features perspeen
(setq perspeen-use-tab nil)
- :config
(perspeen-mode))
;; super-i to switch to ith workspace
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(org-babel-load-file "~/.emacs.d/emacs-evil.org")
#+END_SRC
-
-
* Note
** Check if emacs is in terminal of graphic mode
Use =display-graphic-p= instead of =window-system=