2017-05-15 01:35:31 +02:00
|
|
|
(package-initialize)
|
2017-05-15 14:25:35 +02:00
|
|
|
(defun ensure-packages-installed (packages)
|
|
|
|
"Ensure packages are installed"
|
|
|
|
(mapcar
|
|
|
|
(lambda (package)
|
|
|
|
(if (package-installed-p package)
|
|
|
|
nil
|
|
|
|
(if (y-or-n-p (format "Package %s is missing. Install it? " package))
|
|
|
|
(package-install package)
|
|
|
|
package)))
|
|
|
|
packages))
|
|
|
|
|
2017-05-15 01:35:31 +02:00
|
|
|
|
|
|
|
(require 'package)
|
|
|
|
|
|
|
|
(push '("marmalade" . "http://marmalade-repo.org/packages/") package-archives)
|
|
|
|
(push '("melpa" . "http://melpa.milkbox.net/packages/") package-archives)
|
|
|
|
|
|
|
|
(custom-set-variables
|
|
|
|
;; custom-set-variables was added by Custom.
|
|
|
|
;; If you edit it by hand, you could mess it up, so be careful.
|
|
|
|
;; Your init file should contain only one such instance.
|
|
|
|
;; If there is more than one, they won't work right.
|
|
|
|
'(ansi-color-faces-vector
|
|
|
|
[default default default italic underline success warning error])
|
|
|
|
'(blink-cursor-mode nil)
|
|
|
|
'(custom-enabled-themes (quote (wombat)))
|
|
|
|
'(global-evil-surround-mode t)
|
|
|
|
'(inhibit-startup-screen t)
|
|
|
|
'(menu-bar-mode nil)
|
|
|
|
'(package-selected-packages
|
|
|
|
(quote
|
|
|
|
(evil-surround org evil-magit magit makefile-runner evil)))
|
|
|
|
'(scroll-bar-mode nil)
|
|
|
|
'(tool-bar-mode nil))
|
|
|
|
(custom-set-faces
|
|
|
|
;; custom-set-faces was added by Custom.
|
|
|
|
;; If you edit it by hand, you could mess it up, so be careful.
|
|
|
|
;; Your init file should contain only one such instance.
|
|
|
|
;; If there is more than one, they won't work right.
|
|
|
|
'(default ((t (:inherit nil :stipple nil :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 113 :width normal :foundry "PfEd" :family "Inconsolata")))))
|
|
|
|
|
2017-05-15 14:25:35 +02:00
|
|
|
;; ensure repo cache is up1date
|
|
|
|
(or (file-exists-p package-user-dir)
|
|
|
|
(package-refresh-contents))
|
|
|
|
|
2017-05-15 18:22:09 +02:00
|
|
|
(ensure-packages-installed '(org evil evil-surround magit evil-magit auto-complete))
|
2017-05-15 14:25:35 +02:00
|
|
|
|
2017-05-15 18:22:09 +02:00
|
|
|
;; Evil mode <3
|
2017-05-15 01:35:31 +02:00
|
|
|
(require 'evil)
|
|
|
|
(evil-mode t)
|
2017-05-15 14:25:35 +02:00
|
|
|
|
2017-05-15 18:22:09 +02:00
|
|
|
;; auto-complete
|
|
|
|
(require 'auto-complete)
|
|
|
|
(require 'auto-complete-config)
|
|
|
|
(ac-config-default)
|
|
|
|
|
2017-05-15 14:25:35 +02:00
|
|
|
;; Window movement
|
|
|
|
(global-set-key (kbd "C-x <up>") 'windmove-up)
|
|
|
|
(global-set-key (kbd "C-x <down>") 'windmove-down)
|
|
|
|
(global-set-key (kbd "C-x <left>") 'windmove-left)
|
|
|
|
(global-set-key (kbd "C-x <right>") 'windmove-right)
|
|
|
|
|
2017-05-15 18:22:09 +02:00
|
|
|
;; Magit
|
|
|
|
(global-set-key (kbd "C-x g") 'magit-status)
|
|
|
|
|
2017-05-15 14:25:35 +02:00
|
|
|
;; Window cycling
|
|
|
|
(defun cycle-window ()
|
|
|
|
"cycles windows"
|
|
|
|
(interactive)
|
|
|
|
(select-window (next-window)))
|
|
|
|
|
|
|
|
(global-set-key (kbd "<C-tab>") 'cycle-window)
|
|
|
|
|
2017-05-15 18:22:09 +02:00
|
|
|
;; Easy terminal
|
|
|
|
(defun term-split ()
|
|
|
|
"creates terminal window below"
|
|
|
|
(interactive)
|
|
|
|
(select-window (split-window-below -7))
|
|
|
|
(term "/bin/zsh"))
|
|
|
|
|
|
|
|
(global-set-key (kbd "C-x t") 'term-split)
|
|
|
|
|
|
|
|
;; Kill term buffer on exit
|
|
|
|
;; (defun term-handle-exit--close-buffer (&rest args)
|
|
|
|
;; (when (null (get-buffer-process (current-buffer)))
|
|
|
|
;; (kill-buffer (current-buffer))))
|
|
|
|
;;
|
|
|
|
;; (advice-add 'term-handle-exit :after #'term-handle-exit--close-buffer)
|
|
|
|
|
|
|
|
;; Latex german
|
|
|
|
;; (defun latex-german-umlauts ()
|
|
|
|
;; "Sets keys like ä to write \"a"
|
|
|
|
;; (message "Latex German Umlauts loaded.")
|
|
|
|
;; (defun local-map (key ins)
|
|
|
|
;; (local-set-key (kbd key) (lambda () (interactive) `(insert v))))
|
|
|
|
;; (local-map "ä" "\"a"))
|
|
|
|
;; ;;(local-set-key (kbd "ä") (lambda () (interactive) (insert "\"a")))
|
|
|
|
;;
|
|
|
|
;; (add-hook 'latex-mode-hook 'latex-german-umlauts)
|
|
|
|
|
|
|
|
;; Split windows horizontally preferred
|
|
|
|
(setq split-height-threshold 6)
|
|
|
|
(setq split-width-threshold 20)
|
|
|
|
|
2017-05-15 14:25:35 +02:00
|
|
|
;; Overlay windows
|
|
|
|
(add-to-list 'display-buffer-alist
|
|
|
|
'("*Apropos*" display-buffer-same-window))
|
|
|
|
(add-to-list 'display-buffer-alist
|
|
|
|
'("*Help*" display-buffer-same-window))
|