X-Git-Url: https://git.ganneff.de//index.cgi?p=emacs.git;a=blobdiff_plain;f=.emacs.d%2Fconfig%2Femacs.org;h=99f473654a880b1696d75d02bb6acfc577707aee;hp=794d6a586fd7562d0ecde36999b3330a2e6983e8;hb=3f3161379bc515d91819a19722351ad130da9a64;hpb=d4b50296ad9f2adeeec13f076c5e5d207a2a26f3;ds=sidebyside diff --git a/.emacs.d/config/emacs.org b/.emacs.d/config/emacs.org index 794d6a5..99f4736 100644 --- a/.emacs.d/config/emacs.org +++ b/.emacs.d/config/emacs.org @@ -254,7 +254,7 @@ shell. Consistent look is great. Make the fringe (gutter) smaller, the argument is a width in pixels (the default is 8) #+BEGIN_SRC emacs-lisp :tangle yes (if (fboundp 'fringe-mode) - (fringe-mode 4)) + (fringe-mode 8)) #+END_SRC A bit more spacing between buffer lines @@ -759,6 +759,11 @@ buffers path. #+BEGIN_SRC emacs-lisp :tangle yes (bind-key "H-t" 'jj-open-shell) #+END_SRC + +Align code +#+BEGIN_SRC emacs-lisp :tangle yes +(bind-key "M-[" 'align-code) +#+END_SRC **** Overwrite mode Usually you can press the *Ins*ert key, to get into overwrite mode. I don't like that, have broken much with it and so just forbid it by @@ -769,34 +774,6 @@ disabling that. #+END_SRC ** Miscellaneous stuff -Emacs should keep backup copies of files I edit, but I do not want them -to clutter up the filesystem everywhere. So I put them into one defined -place, backup-directory, which even contains my username (for systems -where =temporary-file-directory= is not inside my home). -#+BEGIN_SRC emacs-lisp :tangle yes -(setq backup-directory-alist `(("." . ,jj-backup-directory))) -(setq auto-save-file-name-transforms `((".*" ,jj-backup-directory t))) - -(setq version-control t) ;; Use version numbers for backups -(setq kept-new-versions 10) ;; Number of newest versions to keep -(setq kept-old-versions 2) ;; Number of oldest versions to keep -(setq delete-old-versions t) ;; Ask to delete excess backup versions? - -(add-hook 'before-save-hook 'force-backup-of-buffer) - -(setq backup-by-copying-when-linked t) ;; Copy linked files, don't rename. -(setq backup-by-copying t) -(setq make-backup-files t) - -(setq backup-enable-predicate - (lambda (name) - (and (normal-backup-enable-predicate name) - (not - (let ((method (file-remote-p name 'method))) - (when (stringp method) - (member method '("su" "sudo")))))))) -#+END_SRC - Weeks start on Monday, not sunday. #+BEGIN_SRC emacs-lisp :tangle yes (setq calendar-week-start-day 1) @@ -962,6 +939,71 @@ Quickly move around in buffers. (bind-key "C-c e A" 'ascii-toggle))) #+END_SRC +** backups +Emacs should keep backup copies of files I edit, but I do not want them +to clutter up the filesystem everywhere. So I put them into one defined +place, backup-directory, which even contains my username (for systems +where =temporary-file-directory= is not inside my home). +#+BEGIN_SRC emacs-lisp :tangle yes +(use-package backups-mode + :load-path "elisp/backups-mode" + :bind (("\C-cv" . save-version) + ("\C-cb" . list-backups) + ("\C-ck" . kill-buffer-prompt) + ("\C-cw" . backup-walker-start)) + :init + (progn + (setq backup-directory jj-backup-directory) + (setq tramp-backup-directory (concat jj-backup-directory "/tramp")) + (if (not (file-exists-p tramp-backup-directory)) + (make-directory tramp-backup-directory)) + (setq tramp-backup-directory-alist `((".*" . ,tramp-backup-directory))) + (setq backup-directory-alist `(("." . ,jj-backup-directory))) + (setq auto-save-list-file-prefix (concat jj-backup-directory ".auto-saves-")) + (setq auto-save-file-name-transforms `((".*" ,jj-backup-directory t))) + + (setq version-control t) ;; Use version numbers for backups + (setq kept-new-versions 10) ;; Number of newest versions to keep + (setq kept-old-versions 2) ;; Number of oldest versions to keep + (setq delete-old-versions t) ;; Ask to delete excess backup versions? + (setq backup-by-copying t) + (setq backup-by-copying-when-linked t) ;; Copy linked files, don't rename. + (setq make-backup-files t) + + (defadvice kill-buffer (around kill-buffer) + "Always save before killing a file buffer" + (when (and (buffer-modified-p) + (buffer-file-name) + (file-exists-p (buffer-file-name))) + (save-buffer)) + ad-do-it) + (ad-activate 'kill-buffer) + + (defadvice save-buffers-kill-emacs (around save-buffers-kill-emacs) + "Always save before killing emacs" + (save-some-buffers t) + ad-do-it) + (ad-activate 'save-buffers-kill-emacs) + + (defun kill-buffer-prompt () + "Allows one to kill a buffer without saving it. +This is necessary since once you start backups-mode all file based buffers +are saved automatically when they are killed" + (interactive) + (if (and (buffer-modified-p) (buffer-file-name) (file-exists-p (buffer-file-name)) (y-or-n-p "Save buffer?")) + (save-buffer) + (set-buffer-modified-p nil)) + (kill-buffer)) + + (setq backup-enable-predicate + (lambda (name) + (and (normal-backup-enable-predicate name) + (not + (let ((method (file-remote-p name 'method))) + (when (stringp method) + (member method '("su" "sudo")))))))))) + +#+END_SRC ** markdown-mode [2014-05-20 Tue 23:04] #+BEGIN_SRC emacs-lisp :tangle yes @@ -2687,7 +2729,6 @@ Save and restore the desktop do (funcall func)) (unless (or noninteractive - running-alternate-emacs (eq 'listen (process-status server-process))) (server-start)))) @@ -2974,7 +3015,34 @@ magit is a mode for interacting with git. (flyspell-mode))) )) #+END_SRC +** git-gutter+ +[2014-05-21 Wed 22:56] +#+BEGIN_SRC emacs-lisp :tangle yes +(use-package git-gutter+ + :ensure git-gutter+ + :diminish git-gutter+-mode + :bind (("C-x n" . git-gutter+-next-hunk) + ("C-x p" . git-gutter+-previous-hunk) + ("C-x v =" . git-gutter+-show-hunk) + ("C-x r" . git-gutter+-revert-hunks) + ("C-x s" . git-gutter+-stage-hunks) + ("C-x c" . git-gutter+-commit) + ) + :init + (progn + (setq git-gutter+-disabled-modes '(org-mode))) + :config + (progn + (use-package git-gutter-fringe+ + :ensure git-gutter-fringe+ + :config + (progn + (setq git-gutter-fr+-side 'right-fringe) + ;(git-gutter-fr+-minimal) + )) + (global-git-gutter+-mode 1))) +#+END_SRC ** git rebase mode #+BEGIN_SRC emacs-lisp :tangle yes (use-package git-rebase-mode @@ -3534,7 +3602,38 @@ the preferred method python evaluation. (setq python-shell-completion-string-code "';'.join(get_ipython().Completer.all_completions('''%s'''))\n") #+END_SRC +** highlight mode +[2014-05-21 Wed 23:51] +#+BEGIN_SRC emacs-lisp :tangle yes +(use-package hi-lock + :bind (("M-o l" . highlight-lines-matching-regexp) + ("M-o r" . highlight-regexp) + ("M-o w" . highlight-phrase))) + +;;;_ , hilit-chg + +(use-package hilit-chg + :bind ("M-o C" . highlight-changes-mode)) +#+END_SRC +** ibuffer +[2014-05-21 Wed 23:54] +#+BEGIN_SRC emacs-lisp :tangle yes +(use-package ibuffer + :bind ("C-x C-b" . ibuffer)) +#+END_SRC +** puppet +[2014-05-22 Thu 00:05] +#+BEGIN_SRC emacs-lisp :tangle yes +(use-package puppet-mode + :mode ("\\.pp\\'" . puppet-mode) + :config + (use-package puppet-ext + :init + (progn + (bind-key "C-x ?" 'puppet-set-anchor puppet-mode-map) + (bind-key "C-c C-r" 'puppet-create-require puppet-mode-map)))) +#+END_SRC * Thats it And thats it for this file, control passes "back" to [[file:../initjj.org][initjj.org/el]] which then may load more files.