mirror of https://github.com/Chizi123/.emacs.d.git

Chizi123
2018-11-21 8c2ab11618f2a82b9953293ff96511e8348ba6e0
readding custom/ after removed
30 files added
421 ■■■■■ changed files
custom/setup-applications.el 31 ●●●●● patch | view | raw | blame | history
custom/setup-applications.el~ patch | view | raw | blame | history
custom/setup-communication.el 1 ●●●● patch | view | raw | blame | history
custom/setup-communication.el~ 1 ●●●● patch | view | raw | blame | history
custom/setup-convenience.el 50 ●●●●● patch | view | raw | blame | history
custom/setup-convenience.el~ 50 ●●●●● patch | view | raw | blame | history
custom/setup-data.el 1 ●●●● patch | view | raw | blame | history
custom/setup-data.el~ patch | view | raw | blame | history
custom/setup-development.el 8 ●●●●● patch | view | raw | blame | history
custom/setup-development.el~ patch | view | raw | blame | history
custom/setup-editing.el 226 ●●●●● patch | view | raw | blame | history
custom/setup-editing.el~ patch | view | raw | blame | history
custom/setup-environment.el 18 ●●●●● patch | view | raw | blame | history
custom/setup-environment.el~ 21 ●●●●● patch | view | raw | blame | history
custom/setup-external.el 1 ●●●● patch | view | raw | blame | history
custom/setup-external.el~ patch | view | raw | blame | history
custom/setup-faces.el 1 ●●●● patch | view | raw | blame | history
custom/setup-faces.el~ patch | view | raw | blame | history
custom/setup-files.el 6 ●●●●● patch | view | raw | blame | history
custom/setup-files.el~ patch | view | raw | blame | history
custom/setup-help.el 1 ●●●● patch | view | raw | blame | history
custom/setup-help.el~ patch | view | raw | blame | history
custom/setup-local.el 1 ●●●● patch | view | raw | blame | history
custom/setup-local.el~ patch | view | raw | blame | history
custom/setup-multimedia.el 1 ●●●● patch | view | raw | blame | history
custom/setup-multimedia.el~ patch | view | raw | blame | history
custom/setup-programming.el 2 ●●●●● patch | view | raw | blame | history
custom/setup-programming.el~ patch | view | raw | blame | history
custom/setup-text.el 1 ●●●● patch | view | raw | blame | history
custom/setup-text.el~ patch | view | raw | blame | history
custom/setup-applications.el
New file
@@ -0,0 +1,31 @@
(provide 'setup-applications)
(require 'eshell)
(require 'em-alias)
(require 'cl)
;; Advise find-file-other-window to accept more than one file
(defadvice find-file-other-window (around find-files activate)
  "Also find all files within a list of files. This even works recursively."
  (if (listp filename)
      (loop for f in filename do (find-file-other-window f wildcards))
    ad-do-it))
;; In Eshell, you can run the commands in M-x
;; Here are the aliases to the commands.
;; $* means accepts all arguments.
(eshell/alias "o" "")
(eshell/alias "o" "find-file-other-window $*")
(eshell/alias "vi" "find-file-other-window $*")
(eshell/alias "vim" "find-file-other-window $*")
(eshell/alias "emacs" "find-file-other-windpow $*")
(eshell/alias "em" "find-file-other-window $*")
(add-hook
 'eshell-mode-hook
 (lambda ()
   (setq pcomplete-cycle-completions nil)))
;; change listing switches based on OS
(when (not (eq system-type 'windows-nt))
  (eshell/alias "ls" "ls --color -h --group-directories-first $*"))
custom/setup-applications.el~
custom/setup-communication.el
New file
@@ -0,0 +1 @@
(provide 'setup-communication)
custom/setup-communication.el~
New file
@@ -0,0 +1 @@
(provide 'setup-comminication)
custom/setup-convenience.el
New file
@@ -0,0 +1,50 @@
(provide 'setup-convenience)
;; use ibuffer instead of default
(global-set-key (kbd "C-x C-b") 'ibuffer)
;; GROUP: Convenience -> Revert
;; update any change made on file to the current buffer
(global-auto-revert-mode)
;; GROUP: Convenience -> Hippe Expand
;; hippie-expand is a better version of dabbrev-expand.
;; While dabbrev-expand searches for words you already types, in current;; buffers and other buffers, hippie-expand includes more sources,
;; such as filenames, klll ring...
(global-set-key (kbd "M-/") 'hippie-expand) ;; replace dabbrev-expand
(setq
 hippie-expand-try-functions-list
 '(try-expand-dabbrev ;; Try to expand word "dynamically", searching the current buffer.
   try-expand-dabbrev-all-buffers ;; Try to expand word "dynamically", searching all other buffers.
   try-expand-dabbrev-from-kill ;; Try to expand word "dynamically", searching the kill ring.
   try-complete-file-name-partially ;; Try to complete text as a file name, as many characters as unique.
   try-complete-file-name ;; Try to complete text as a file name.
   try-expand-all-abbrevs ;; Try to expand word before point according to all abbrev tables.
   try-expand-list ;; Try to complete the current line to an entire line in the buffer.
   try-expand-line ;; Try to complete the current line to an entire line in the buffer.
   try-complete-lisp-symbol-partially ;; Try to complete as an Emacs Lisp symbol, as many characters as unique.
   try-complete-lisp-symbol) ;; Try to complete word as an Emacs Lisp symbol.
 )
;; GROUP: Convenience -> HL Line
(global-hl-line-mode)
;; GROUP: Convenience -> Ibuffer
(setq ibuffer-use-other-window t) ;; always display ibuffer in another window
;; GROUP: Convenience -> Linum
(add-hook 'prog-mode-hook 'linum-mode) ;; enable linum only in programming modes
;; GROUP: Convenience -> Whitespace
;; whenever you create useless whitespace, the whitespace is highlighted
(add-hook 'prog-mode-hook (lambda () (interactive) (setq show-trailing-whitespace 1)))
;; activate whitespace-mode to view all whitespace characters
(global-set-key (kbd "C-c w") 'whitespace-mode)
;; GROUP: Convenience -> Windmove
;; easier window navigation
(windmove-default-keybindings)
custom/setup-convenience.el~
New file
@@ -0,0 +1,50 @@
(provide 'setup-convenience)
;; use ibuffer instead of default
(global-set-key (kbd "C-x C-b" 'ibuffer))
;; GROUP: Convenience -> Revert
;; update any change made on file to the current buffer
(global-auto-revert-mode)
;; GROUP: Convenience -> Hippe Expand
;; hippie-expand is a better version of dabbrev-expand.
;; While dabbrev-expand searches for words you already types, in current;; buffers and other buffers, hippie-expand includes more sources,
;; such as filenames, klll ring...
(global-set-key (kbd "M-/") 'hippie-expand) ;; replace dabbrev-expand
(setq
 hippie-expand-try-functions-list
 '(try-expand-dabbrev ;; Try to expand word "dynamically", searching the current buffer.
   try-expand-dabbrev-all-buffers ;; Try to expand word "dynamically", searching all other buffers.
   try-expand-dabbrev-from-kill ;; Try to expand word "dynamically", searching the kill ring.
   try-complete-file-name-partially ;; Try to complete text as a file name, as many characters as unique.
   try-complete-file-name ;; Try to complete text as a file name.
   try-expand-all-abbrevs ;; Try to expand word before point according to all abbrev tables.
   try-expand-list ;; Try to complete the current line to an entire line in the buffer.
   try-expand-line ;; Try to complete the current line to an entire line in the buffer.
   try-complete-lisp-symbol-partially ;; Try to complete as an Emacs Lisp symbol, as many characters as unique.
   try-complete-lisp-symbol) ;; Try to complete word as an Emacs Lisp symbol.
 )
;; GROUP: Convenience -> HL Line
(global-hl-line-mode)
;; GROUP: Convenience -> Ibuffer
(setq ibuffer-use-other-window t) ;; always display ibuffer in another window
;; GROUP: Convenience -> Linum
(add-hook 'prog-mode-hook 'linum-mode) ;; enable linum only in programming modes
;; GROUP: Convenience -> Whitespace
;; whenever you create useless whitespace, the whitespace is highlighted
(add-hook 'prog-mode-hook (lambda () (interactive) (setq show-trailing-whitespace 1)))
;; activate whitespace-mode to view all whitespace characters
(global-set-key (kbd "C-c w") 'whitespace-mode)
;; GROUP: Convenience -> Windmove
;; easier window navigation
(windmove-default-keybindings)
custom/setup-data.el
New file
@@ -0,0 +1 @@
(provide 'setup-data)
custom/setup-data.el~
custom/setup-development.el
New file
@@ -0,0 +1,8 @@
(provide 'setup-development)
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
(add-hook 'lisp-interaction-mode-hook 'turn-on-eldoc-mode)
(add-hook 'ielm-mode-hook 'turn-on-eldoc-mode)
;; Start garbage collection every 100MB to improve Emacs performance
(setq gc-cons-threshold 100000000)
custom/setup-development.el~
custom/setup-editing.el
New file
@@ -0,0 +1,226 @@
(provide 'setup-editing)
;; GROUP: Editing -> Editing Basics
(setq global-mark-ring-max 5000         ; increase mark ring to contains 5000 entries
      mark-ring-max 5000                ; increase kill ring to contains 5000 entries
      mode-require-final-newline t      ; add a newline to end of file
      )
(setq c-default-style "linux")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-language-environment "UTF-8")
(prefer-coding-system 'utf-8)
(setq-default indent-tabs-mode t)
(delete-selection-mode)
(global-set-key (kbd "RET") 'newline-and-indent)
;; GROUP: Editing -> Killing
(setq
 kill-ring-max 5000 ; increase kill-ring capacity
 kill-whole-line t  ; if NIL, kill whole line and move the next line up
 )
;; display whitespace characters
(global-set-key (kbd "C-c w") 'whitespace-mode)
;; show important whitespace in diff-mode
(add-hook 'diff-mode-hook (lambda ()
                            (setq-local whitespace-style
                                        '(face
                                          tabs
                                          tab-mark
                                          spaces
                                          space-mark
                                          trailing
                                          indentation::space
                                          indentation::tab
                                          newline
                                          newline-mark))
                            (whitespace-mode 1)))
(defun prelude-move-beginning-of-line (arg)
  "Move point back to indentation of beginning of line.
Move point to the first non-whitespace character on this line.
If point is already there, move to the beginning of the line.
Effectively toggle between the first non-whitespace character and
the beginning of the line.
If ARG is not nil or 1, move forward ARG - 1 lines first. If
point reaches the beginning or end of the buffer, stop there."
  (interactive "^p")
  (setq arg (or arg 1))
  ;; Move lines first
  (when (/= arg 1)
    (let ((line-move-visual nil))
      (forward-line (1- arg))))
  (let ((orig-point (point)))
    (back-to-indentation)
    (when (= orig-point (point))
      (move-beginning-of-line 1))))
(global-set-key (kbd "C-a") 'prelude-move-beginning-of-line)
(defadvice kill-ring-save (before slick-copy activate compile)
  "When called interactively with no active region, copy a single
line instead."
  (interactive
   (if mark-active (list (region-beginning) (region-end))
     (message "Copied line")
     (list (line-beginning-position)
           (line-beginning-position 2)))))
(defadvice kill-region (before slick-cut activate compile)
  "When called interactively with no active region, kill a single
  line instead."
  (interactive
   (if mark-active (list (region-beginning) (region-end))
     (list (line-beginning-position)
           (line-beginning-position 2)))))
;; kill a line, including whitespace characters until next non-whiepsace character
;; of next line
(defadvice kill-line (before check-position activate)
  (if (member major-mode
              '(emacs-lisp-mode scheme-mode lisp-mode
                                c-mode c++-mode objc-mode
                                latex-mode plain-tex-mode))
      (if (and (eolp) (not (bolp)))
          (progn (forward-char 1)
                 (just-one-space 0)
                 (backward-char 1)))))
;; taken from prelude-editor.el
;; automatically indenting yanked text if in programming-modes
(defvar yank-indent-modes
  '(LaTeX-mode TeX-mode)
  "Modes in which to indent regions that are yanked (or yank-popped).
Only modes that don't derive from `prog-mode' should be listed here.")
(defvar yank-indent-blacklisted-modes
  '(python-mode slim-mode haml-mode)
  "Modes for which auto-indenting is suppressed.")
(defvar yank-advised-indent-threshold 1000
  "Threshold (# chars) over which indentation does not automatically occur.")
(defun yank-advised-indent-function (beg end)
  "Do indentation, as long as the region isn't too large."
  (if (<= (- end beg) yank-advised-indent-threshold)
      (indent-region beg end nil)))
(defadvice yank (after yank-indent activate)
  "If current mode is one of 'yank-indent-modes,
indent yanked text (with prefix arg don't indent)."
  (if (and (not (ad-get-arg 0))
           (not (member major-mode yank-indent-blacklisted-modes))
           (or (derived-mode-p 'prog-mode)
               (member major-mode yank-indent-modes)))
      (let ((transient-mark-mode nil))
        (yank-advised-indent-function (region-beginning) (region-end)))))
(defadvice yank-pop (after yank-pop-indent activate)
  "If current mode is one of `yank-indent-modes',
indent yanked text (with prefix arg don't indent)."
  (when (and (not (ad-get-arg 0))
             (not (member major-mode yank-indent-blacklisted-modes))
             (or (derived-mode-p 'prog-mode)
                 (member major-mode yank-indent-modes)))
    (let ((transient-mark-mode nil))
      (yank-advised-indent-function (region-beginning) (region-end)))))
;; prelude-core.el
(defun prelude-duplicate-current-line-or-region (arg)
  "Duplicates the current line or region ARG times.
If there's no region, the current line will be duplicated. However, if
there's a region, all lines that region covers will be duplicated."
  (interactive "p")
  (pcase-let* ((origin (point))
               (`(,beg . ,end) (prelude-get-positions-of-line-or-region))
               (region (buffer-substring-no-properties beg end)))
    (-dotimes arg
      (lambda (n)
        (goto-char end)
        (newline)
        (insert region)
        (setq end (point))))
    (goto-char (+ origin (* (length region) arg) arg))))
;; prelude-core.el
(defun indent-buffer ()
  "Indent the currently visited buffer."
  (interactive)
  (indent-region (point-min) (point-max)))
;; prelude-editing.el
(defcustom prelude-indent-sensitive-modes
  '(coffee-mode python-mode slim-mode haml-mode yaml-mode)
  "Modes for which auto-indenting is suppressed."
  :type 'list)
(defun indent-region-or-buffer ()
  "Indent a region if selected, otherwise the whole buffer."
  (interactive)
  (unless (member major-mode prelude-indent-sensitive-modes)
    (save-excursion
      (if (region-active-p)
          (progn
            (indent-region (region-beginning) (region-end))
            (message "Indented selected region."))
        (progn
          (indent-buffer)
          (message "Indented buffer.")))
      (whitespace-cleanup))))
(global-set-key (kbd "C-c i") 'indent-region-or-buffer)
;; add duplicate line function from Prelude
;; taken from prelude-core.el
(defun prelude-get-positions-of-line-or-region ()
  "Return positions (beg . end) of the current line
or region."
  (let (beg end)
    (if (and mark-active (> (point) (mark)))
        (exchange-point-and-mark))
    (setq beg (line-beginning-position))
    (if mark-active
        (exchange-point-and-mark))
    (setq end (line-end-position))
    (cons beg end)))
(defun kill-default-buffer ()
  "Kill the currently active buffer -- set to C-x k so that users are not asked which buffer they want to kill."
  (interactive)
  (let (kill-buffer-query-functions) (kill-buffer)))
(global-set-key (kbd "C-x k") 'kill-default-buffer)
;; smart openline
(defun prelude-smart-open-line (arg)
  "Insert an empty line after the current line.
Position the cursor at its beginning, according to the current mode.
With a prefix ARG open line above the current line."
  (interactive "P")
  (if arg
      (prelude-smart-open-line-above)
    (progn
      (move-end-of-line nil)
      (newline-and-indent))))
(defun prelude-smart-open-line-above ()
  "Insert an empty line above the current line.
Position the cursor at it's beginning, according to the current mode."
  (interactive)
  (move-beginning-of-line nil)
  (newline-and-indent)
  (forward-line -1)
  (indent-according-to-mode))
(global-set-key (kbd "C-o") 'prelude-smart-open-line)
(global-set-key (kbd "M-o") 'open-line)
custom/setup-editing.el~
custom/setup-environment.el
New file
@@ -0,0 +1,18 @@
(provide 'setup-environment)
(setq inhibit-startup-screen t)
(setq savehist-additional-variables '(search ring regexp-search-ring) ; also save your regexp search queries
      savehist-autosave-interval 60     ; save every minute
      )
(winner-mode 1)
(column-number-mode 1)
;; remove backup files
(when (eq system-type 'windows-nt)
  (defadvice backup-buffer (after my-backup-make-hidden activate)
    (let ((backup-file-name (make-backup-file-name (buffer-file-name))))
      (when (file-exists-p backup-file-name)
    (call-process "attrib.exe" nil nil nil "+I" "+H" backup-file-name)))))
custom/setup-environment.el~
New file
@@ -0,0 +1,21 @@
(provide 'setup-environment)
(setq inhibit-startup-screen t)
(setq savehist-additional-variables '(search ring regexp-search-ring) ; also save your regexp search queries
      savehist-autosave-interval 60     ; save every minute
      )
(winner-mode 1)
(column-number-mode 1)
;; (add-to-list 'custom-theme-load-path "~/.emacs.d/themes/")
;; (load-theme 'zenburn t)
;; remove backup files
(when (eq system-type 'windows-nt)
  (defadvice backup-buffer (after my-backup-make-hidden activate)
    (let ((backup-file-name (make-backup-file-name (buffer-file-name))))
      (when (file-exists-p backup-file-name)
    (call-process "attrib.exe" nil nil nil "+I" "+H" backup-file-name)))))
custom/setup-external.el
New file
@@ -0,0 +1 @@
(provide 'setup-external)
custom/setup-external.el~
custom/setup-faces.el
New file
@@ -0,0 +1 @@
(provide 'setup-faces)
custom/setup-faces.el~
custom/setup-files.el
New file
@@ -0,0 +1,6 @@
(provide 'setup-files)
;; tramp setup
(when (eq window-system 'w32)
  (setq tramp-default-method "plink"))
(setq password-cache-expiry nil)
custom/setup-files.el~
custom/setup-help.el
New file
@@ -0,0 +1 @@
(provide 'setup-help)
custom/setup-help.el~
custom/setup-local.el
New file
@@ -0,0 +1 @@
(provide 'setup-local)
custom/setup-local.el~
custom/setup-multimedia.el
New file
@@ -0,0 +1 @@
(provide 'setup-multimedia)
custom/setup-multimedia.el~
custom/setup-programming.el
New file
@@ -0,0 +1,2 @@
(provide 'setup-programming)
custom/setup-programming.el~
custom/setup-text.el
New file
@@ -0,0 +1 @@
(provide 'setup-text)
custom/setup-text.el~