Merge branch 'master' of ssh://git.zom.bi:9097/madmaurice/configfiles

This commit is contained in:
madmaurice 2017-05-23 00:05:27 +02:00
commit ea6676781d
11 changed files with 422 additions and 8 deletions

352
emacs/.emacs Normal file
View file

@ -0,0 +1,352 @@
(package-initialize)
(require 'package)
;; Quote
(setq initial-scratch-message ";; Simplicity and elegance are unpopular because\n;; they require hard work and discipline to achieve\n;; and education to be appreciated.\n;;\n;; - Dijkstra\n\n")
;; Set frame title
(setq frame-title-format "[%m] %f")
;; Default frame size
(setq initial-frame-alist
'(
(width . 110)
(height . 40)
))
(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])
'(ansi-color-names-vector
["#242424" "#e5786d" "#95e454" "#cae682" "#8ac6f2" "#333366" "#ccaa8f" "#f6f3e8"])
'(blink-cursor-mode nil)
'(custom-enabled-themes (quote (heroku)))
'(custom-safe-themes
(quote
("4f2ede02b3324c2f788f4e0bad77f7ebc1874eff7971d2a2c9b9724a50fb3f65" default)))
'(global-evil-surround-mode t)
'(inhibit-startup-screen t)
'(menu-bar-mode nil)
'(package-selected-packages
(quote
(swiper neotree centered-cursor-mode ivy avy heroku-theme auto-complete use-package yasnippet 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.
'(neo-dir-link-face ((t (:foreground "#fce94f"))))
'(neo-expand-btn-face ((t (:foreground "#ffe070"))))
'(neo-root-dir-face ((t (:foreground "#fff3c6" :weight bold))))
'(powerline-active1 ((t (:inherit mode-line))))
'(powerline-active2 ((t (:inherit mode-line))))
'(powerline-evil-emacs-face ((t (:inherit powerline-evil-base-face :background "gray30" :foreground "white"))))
'(powerline-evil-insert-face ((t (:inherit powerline-evil-base-face :background "forest green"))))
'(powerline-evil-motion-face ((t (:inherit powerline-evil-base-face :background "white" :foreground "black"))))
'(powerline-evil-normal-face ((t (:inherit powerline-evil-base-face :background "white" :foreground "grey22"))))
'(powerline-evil-replace-face ((t (:inherit powerline-evil-base-face :background "dark red")))))
;; ensure repo cache is up1date
(or (file-exists-p package-user-dir)
(package-refresh-contents))
;; Install use-package
(defun ensure-package-installed (package)
"Ensure packages are installed"
(if (package-installed-p package)
nil
(progn
(package-refresh-contents)
(package-install package))))
(ensure-package-installed 'use-package)
;; *.tex files are Latex-Files
(add-to-list 'auto-mode-alist '("\\.tex\\'" . latex-mode))
;; Extra Latex keybindings
(defun my/latex-keybindings ()
(define-key latex-mode-map (kbd "<f9>") 'recompile))
(add-hook 'latex-mode-hook 'my/latex-keybindings)
;; show parens
(show-paren-mode t)
;; highlight line
(global-hl-line-mode)
;; shackle
;(defun my/shackle-rules ()
; (setq shackle-rules
; '((term-mode :select t :align 'below :size 0.2))))
;
;(use-package shackle
; :ensure t
; :demand t
; :config '(my/shackle-rules))
;; powerline
(use-package powerline
:ensure t
:demand t)
(use-package powerline-evil
:ensure t
:demand t
:config
(powerline-evil-vim-color-theme))
;; theme
(use-package heroku-theme
:ensure t)
;; Org-mode
(use-package org
:ensure t)
;; Evil-mode
(use-package evil
:ensure t
:demand t
:config
(evil-mode 1)
(setq evil-ex-substitute-global t)
(define-key evil-normal-state-map "/" 'swiper)
(setq-default evil-cross-lines t))
;; Auto-Complete
(use-package auto-complete
:ensure t
:demand t
:config (progn
(require 'auto-complete-config)
(ac-config-default)))
;; ivy
(use-package ivy
:ensure t
:demand t
:config (progn
(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(setq ivy-count-format "(%d/%d) ")
(define-key ivy-minibuffer-map (kbd "<C-return>") 'ivy-immediate-done)))
;; swiper
(use-package swiper
:ensure t
:bind ("C-s" . swiper))
;; Neotree
(use-package neotree
:ensure t
:bind ("C-x n" . neotree-show)
:config
(setq neo-theme 'ascii)
(evil-define-key 'normal neotree-mode-map (kbd "+") 'neotree-create-node)
(evil-define-key 'normal neotree-mode-map (kbd "g") 'neotree-refresh)
(evil-define-key 'normal neotree-mode-map (kbd "d") 'neotree-delete-node)
(evil-define-key 'normal neotree-mode-map (kbd "c") 'neotree-rename-node)
(evil-define-key 'normal neotree-mode-map (kbd "TAB") 'neotree-enter)
(evil-define-key 'normal neotree-mode-map (kbd "RET") 'neotree-enter)
(evil-define-key 'normal neotree-mode-map (kbd "q") 'neotree-hide))
;; Cursor centered
(use-package centered-cursor-mode
:ensure t
:demand t
:disabled
:config (global-centered-cursor-mode))
;; Yasnippet
(use-package yasnippet
:ensure t
:demand t
:config (yas-global-mode 1))
;; avy
(use-package avy
:ensure t
:demand t
:disabled
:bind ("C-s" . avy-goto-word-0)
:config (progn
(setq avy-keys '(?a ?s ?d ?f ?g ?q ?w ?e ?r ?t ?y ?x ?c ?v ?z ?u ?i ?o ?p ?h ?j ?k ?l ?b ?n ?m))))
;; Magit
(use-package magit
:ensure t
:bind ("C-x g" . magit-status))
;; Easy terminal
(setq my/default-shell (or (executable-find "zsh") (executable-find "bash")))
(defun term-split ()
"creates terminal window below"
(interactive)
(let ((window (split-window-below -7)))
(select-window window)
(term my/default-shell)
(set-window-dedicated-p window t)))
;
;(use-package term
; :bind ("C-x t" . term-split))
;
;(defun term-handle-exit--close-buffer (&rest args)
; (let ((term-window (get-buffer-window "*terminal*")))
; (when (and term-window (window-dedicated-p term-window))
; (delete-window term-window))))
;(advice-add 'term-handle-exit :after #'term-handle-exit--close-buffer)
;(add-to-list 'display-buffer-alist
; '("\\*terminal\\*" display-buffer-pop-up-window))
(defun my/term ()
(interactive)
(term my/default-shell))
(use-package term
:bind ("C-x t" . my/term))
;; tabbing (doesn't really work yet)
(setq-default indent-tabs-mode t)
(setq-default tab-width 4)
(setq-default LateX-indent-level 4)
;; Activate line numbers
(global-linum-mode t)
;; compilation buffer
; Set buffer scrolling
(setq compilation-scroll-output 'first-error)
; kill window if successfull
;(defun bury-compile-buffer-if-successful (buffer string)
; "Bury a compilation buffer if succeeded without warnings "
; (when (and
; (buffer-live-p buffer)
; (string-match "compilation" (buffer-name buffer))
; (string-match "finished" string)
; (not
; (with-current-buffer buffer
; (goto-char (point-min))
; (search-forward "warning" nil t))))
; (run-with-timer 1 nil
; (lambda (buf)
; (bury-buffer buf)
; (switch-to-prev-buffer (get-buffer-window buf) 'kill))
; buffer)))
;(add-hook 'compilation-finish-functions 'bury-compile-buffer-if-successful)
; set window height
(setq compilation-window-height 10)
(defun my-compilation-hook ()
(when (not (get-buffer-window "*compilation*"))
(save-selected-window
(save-excursion
(let* ((w (split-window-vertically))
(h (window-height w)))
(select-window w)
(switch-to-buffer "*compilation*")
(shrink-window (- h compilation-window-height)))))))
(add-hook 'compilation-mode-hook 'my-compilation-hook)
;; Window movement
; Old keys
(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)
; New keys
(global-set-key (kbd "<M-up>") 'windmove-up)
(global-set-key (kbd "<M-down>") 'windmove-down)
(global-set-key (kbd "<M-left>") 'windmove-left)
(global-set-key (kbd "<M-right>") 'windmove-right)
(defun cycle-window ()
"cycles windows"
(interactive)
(select-window (next-window)))
(global-set-key (kbd "<C-tab>") 'cycle-window)
;; Latex german
(quail-define-package "latex-german" "UTF-8" "LaGe" t
"Transforms umlauts to the better latex notation.
ä -> \"a
ö -> \"o
ü -> \"u
Ä -> \"A
Ö -> \"O
Ü -> \"U
ß -> \"s"
nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
("ä" ["\"a"])
("ö" ["\"o"])
("ü" ["\"u"])
("Ä" ["\"A"])
("Ö" ["\"O"])
("Ü" ["\"U"])
("ß" ["\"s"])
)
(add-hook 'latex-mode-hook (lambda ()
(set-input-method "latex-german")
(local-set-key "\"" 'self-insert-command)))
;; Split windows horizontally preferred
(setq split-height-threshold 6)
(setq split-width-threshold 20)
;; Overlay windows (What does it do?)
(add-to-list 'display-buffer-alist
'("*Apropos*" display-buffer-same-window))
(add-to-list 'display-buffer-alist
'("*Help*" display-buffer-same-window))
;; Change all prompts to y or n
(fset 'yes-or-no-p 'y-or-n-p)
;; Insert time, german format
(defun datetime-german ()
(interactive)
(insert (format-time-string "%d.%m.%Y %H:%M")))
(global-set-key (kbd "C-c C-d") 'datetime-german)
;; Comment fun
;(defun extend-comment ()
; (interactive)
; (if (looking-back "//" (line-beginning-position))
; (progn
; (newline-and-indent)
; (insert "Hallo Welt"))
; (newline-and-indent)))
;; Show in binary and decimal
;(defun hex-popup ()
; (interactive)
; (let (hexStr p1 p2)
; (save-excursion
; (search-backward-regexp "[^0-9A-Fa-f]" nil t)
; (forward-char)
; (setq p1 (point))
; (search-forward-regexp "[^0-9A-Fa-f]" nil t)
; (backward-char)
; (setq p2 (point)))
; (setq hexStr (buffer-substring-no-properties p1 p2))
; (message "The hex number is: '%s' '%d' '%d'" hexStr p1 p2)))

View file

@ -0,0 +1,11 @@
# -*- mode: snippet -*-
# name: description-env
# key: desc
# --
\begin{description}
\item[$1] $2
$0
\end{description}

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: emph
# key: emph
# --
\emph{$1} $0

View file

@ -0,0 +1,6 @@
# -*- mode: snippet -*-
# name: item
# key: it
# --
\item $1
$0

View file

@ -0,0 +1,6 @@
# -*- mode: snippet -*-
# name: item-desc
# key: itd
# --
\item[$1] $2
$0

View file

@ -0,0 +1,10 @@
# -*- mode: snippet -*-
# name: itemize
# key: item
# --
\begin{itemize}
\item $1
$0
\end{itemize}

View file

@ -0,0 +1,6 @@
# -*- mode: snippet -*-
# name: lstinput
# key: lstinput
# --
\lstinputlisting[$2,label=file:$1]{$1}
$0

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: verb
# key: verb
# --
\verb+$1+ $0

View file

@ -115,7 +115,11 @@ snippet section
${1:Section}~\ref{${2:sec:}}${3}
snippet page
${1:page}~\pageref{${2}}${3}
snippet frame
\begin{frame}
\frametitle{${1:Title}}
${2}
\end{frame}
snippet title
\title{${1}}
\author{${2}}

View file

@ -61,7 +61,7 @@ set tm=500
set encoding=utf8 "Always use utf8
set ffs=unix,dos,mac " Auto use EOL according to file
set noswapfile
set expandtab "Tabbing
set noexpandtab " No spaces just Tabs
set smarttab " Deleting and creating spaces representing tabs
set ai "auto indent
set si "smart indent
@ -95,6 +95,16 @@ set listchars=eol:↲,tab:▶▹,nbsp:␣,extends:…,trail:•
" --- Latex {{{
au BufRead,BufNewFile *.tex set ft=tex
au FileType tex inoremap <buffer> " "
au FileType tex inoremap <buffer> ä "a
au FileType tex inoremap <buffer> ö "o
au FileType tex inoremap <buffer> ü "u
au FileType tex inoremap <buffer> Ä "A
au FileType tex inoremap <buffer> Ö "O
au FileType tex inoremap <buffer> Ü "U
au FileType tex inoremap <buffer> ß "s
au FileType tex inoremap <buffer> "" \quot{}<Esc>i
" }}}
" --- Abbreviations {{{
@ -191,7 +201,6 @@ nnoremap <silent> <leader>i :set list!<cr>
" Vimux
nnoremap <leader>rr :call RunCmdVimux()<cr>
nnoremap <leader>rq :call VimuxCloseRunner()<cr>
nnoremap <silent> ; :call AddSemicolon()<cr>
nnoremap <silent> <leader>t :g/TODO/<cr>
nnoremap <silent> <C-G> :TigStatus<CR>
" 0 should find first non blank
@ -215,7 +224,7 @@ nnoremap Q @@
inoremap <F1> <nop>
nnoremap <F1> <nop>
vnoremap <F1> <nop>
" -- Make Y behave correct
" -- Make Y behave correctly
map Y y$
" -- Quick adding of spaces
nnoremap <silent> <space> i<space><Esc>l
@ -297,6 +306,7 @@ map F <Plug>(easymotion-Fl)
" --- Auto pairs config {{{
let g:lexima_enable_basic_rules = 1
" }}}
" --- Codestyle {{{
au BufRead,BufNewFile *.{cpp,hpp,h} match ErrorMsg '\%>80v.\+'
" }}}
set ts=4
set noet

View file

@ -1,6 +1,5 @@
alias ls="ls --color=auto --quoting-style=literal"
alias ll="ls -l"
alias la="ls -la"
alias emacs="vim"
alias lf="ls -l"
alias laf="ls -al"