first commit

This commit is contained in:
Iñaki
2016-09-12 15:56:54 +02:00
commit 14edab9bcf
8 changed files with 289 additions and 0 deletions

7
.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
elpa/
eshell/
lisp/
auto-save-list/
recentf
themes/
network-security.data

8
init.el Normal file
View File

@@ -0,0 +1,8 @@
;;(package-initialize)
(load "~/.emacs.d/my-loadpackages.el")
(add-hook 'after-init-hook '(lambda ()
(load "~/.emacs.d/my-noexternals.el")
(load "~/.emacs.d/my-setkeys.el")
(load "~/.emacs.d/my-modeline.el")
(load "~/.emacs.d/my-linum.el")))

40
my-linum.el Normal file
View File

@@ -0,0 +1,40 @@
(defvar linum-current-line 1 "Current line number.")
(defface linum-current-line
`((t :inherit linum
:foreground "chocolate"
;; :weight bold
))
"Face for displaying the current line number."
:group 'linum)
(defadvice linum-update (before advice-linum-update activate)
"Set the current line."
(setq linum-current-line (line-number-at-pos)))
(unless window-system
(add-hook 'linum-before-numbering-hook
(lambda ()
(setq-local linum-format-fmt
(let ((w (length (number-to-string
(count-lines
(point-min)
(point-max))))))
(concat "%" (number-to-string w) "d "))))))
(defun linum-format-func (line)
(let ((face
(if (= line linum-current-line)
'linum-current-line
'linum)))
(concat
(propertize (format linum-format-fmt line) 'face face)
"")))
(unless window-system
(setq linum-format 'linum-format-func))
(add-hook 'find-file-hook (lambda ()
(linum-mode 1)))
(add-hook 'eshell-mode-hook (lambda ()
(linum mode -1)))

50
my-loadpackages.el Normal file
View File

@@ -0,0 +1,50 @@
(load "~/.emacs.d/my-packages.el")
(use-package ivy
:init
(setq ivy-use-virtual-buffers t
ivy-count-format ""
ivy-display-style nil)
(ivy-mode 1))
(use-package projectile)
(use-package cl)
(use-package evil
:init
(setq evil-normal-state-tag "N"
evil-insert-state-tag "I"
evil-visual-state-tag "V"
evil-emacs-state-tag "E"
evil-operator-state-tag "O"
evil-motion-state-tag "M"
evil-replace-state-tag "R"
evil-want-fine-undo 'fine )
(evil-mode 1))
(use-package magit)
(use-package evil-magit
:init
(setq evil-magit-state 'normal))
(use-package neotree
;;(setq neo-theme 'file-icons
:init
(setq neo-theme 'ascii
neo-show-updir-line nil
neo-window-width 25
neo-smart-open t
neo-persist-show nil)
:config
(add-hook 'neotree-mode-hook
(lambda () (setq-local mode-line-format nil)))
(add-hook 'neotree-mode-hook
(lambda () (setq-local tab-width 2)))
(advice-add 'display-buffer :around
'(lambda (f &rest args)
(let ((neotree? (get-buffer-window " *NeoTree*")))
(when neotree? (neotree-hide))
(apply f args)
(select-window
(apply 'get-buffer-window args))
(when neotree? (neotree-projectile))
(select-window
(apply 'get-buffer-window args))))))
(use-package fill-column-indicator
:init
(setq fci-rule-column 80))

62
my-modeline.el Normal file
View File

@@ -0,0 +1,62 @@
(lexical-let ((default-color (cons (face-background 'mode-line)
(face-foreground 'mode-line))))
(add-hook 'post-command-hook
(lambda ()
(let ((color (cond ((minibufferp) default-color)
((evil-normal-state-p)
'("gray12" . "ivory"))
((evil-insert-state-p)
'("firebrick" . "ivory"))
((evil-visual-state-p)
'("DarkSlateGray" . "ivory"))
((evil-emacs-state-p)
'("SeaGreen" . "ivory"))
((buffer-modified-p)
'("firebrick" . "ivory"))
(t default-color))))
(set-face-background 'mode-line (car color))
(set-face-foreground 'mode-line (cdr color))))))
(defun simple-mode-line-render (left right)
(let* ((available-width (- (window-width) (length left) 2)))
(format (format " %%s %%%ds " available-width) left right)))
(defun evil-mode-state ()
(cond ((evil-normal-state-p) (format "%s " evil-normal-state-tag))
((evil-visual-state-p) (format "%s " evil-visual-state-tag))
((evil-insert-state-p) (format "%s " evil-insert-state-tag))
((evil-emacs-state-p) (format "%s " evil-emacs-state-tag))
((evil-operator-state-p) (format "%s " evil-operator-state-tag))
((evil-motion-state-p) (format "%s " evil-motion-state-tag))
((evil-replace-state-p) (format "%s " evil-replace-state-tag))))
(defun vc-mode-branch-state ()
(let ((bufname (buffer-file-name (current-buffer))))
(when bufname
(when (vc-working-revision bufname)
(concat (propertize
(format "  %s" (magit-get-current-branch))
'face 'bold)
(format " [%s]" (vc-state bufname)))))))
(setq-default mode-line-format
(list
mode-line-front-space
'((:eval (simple-mode-line-render
;; left
(format-mode-line
(concat
(propertize (evil-mode-state)
'face 'bold)
"[%b] [%*]"
(vc-mode-branch-state)))
;; right
(format-mode-line
(concat "[%m] "
(format-time-string "%H:%M ")
battery-mode-line-string "]"
"  %l/"
(number-to-string
(count-lines
(point-min)
(point-max))))))))))

70
my-noexternals.el Normal file
View File

@@ -0,0 +1,70 @@
(when (fboundp 'menu-bar-mode) (menu-bar-mode -1))
(when (fboundp 'tool-bar-mode) (tool-bar-mode -1))
(when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
(add-to-list 'default-frame-alist '(font . "Iosevka Term-10"))
(set-frame-font "Iosevka Term-10")
(setq inhibit-startup-screen t)
(setq vc-follow-symlinks t)
(global-auto-revert-mode 1)
(electric-pair-mode 1)
(show-paren-mode t)
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
(setq scroll-step 1
scroll-conservatively 10000) ;; keyboard scroll one line at a time
;; theme
(defvar my:theme 'gruvbox)
(defvar my:theme-window-loaded nil)
(defvar my:theme-terminal-loaded nil)
(if (daemonp)
(add-hook
'after-make-frame-functions(lambda (frame)
(select-frame frame)
(when (window-system frame)
(set-frame-parameter
(selected-frame) 'internal-border-width 10)
(add-to-list 'default-frame-alist
'(height . 42))
(add-to-list 'default-frame-alist
'(width . 84))
(unless my:theme-window-loaded
(if my:theme-terminal-loaded
(enable-theme my:theme)
(load-theme my:theme t))
(setq my:theme-window-loaded t))
(unless my:theme-terminal-loaded
(if my:theme-window-loaded
(enable-theme my:theme)
(load-theme my:theme t))
(setq my:theme-terminal-loaded t)))))
(progn
(load-theme my:theme t)
(if (display-graphic-p)
(setq my:theme-window-loaded t)
(setq my:theme-terminal-loaded t)))
(set-frame-parameter (selected-frame) 'internal-border-width 10)
(add-to-list 'default-frame-alist '(height . 42))
(add-to-list 'default-frame-alist '(width . 84)))
(setq-default indent-tabs-mode nil)
(setq default-tab-width 2)
(defvaralias 'c-basic-offset 'tab-width)
(defvaralias 'cperl-indent-level 'tab-width)
(setq backup-by-copying t ; don't clobber symlinks
backup-directory-alist
'(("." . "~/.saves")) ; don't litter my fs tree
delete-old-versions t
kept-new-versions 6
kept-old-versions 2
version-control t) ; use versioned backups
(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))
(global-hl-line-mode 1)
(blink-cursor-mode 0)
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(setq vc-mode 1)
(display-time-mode 1)
(display-battery-mode 1)

15
my-packages.el Normal file
View File

@@ -0,0 +1,15 @@
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/") t)
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/") t
(let ((default-directory "~/.emacs.d/lisp/"))
(normal-top-level-add-subdirs-to-load-path))
(package-initialize)
(unless (package-installed-p 'use-package) ; unless it is already installed
(package-refresh-contents) ; updage packages archive
(package-install 'use-package)) ; and install the most recent version of use-package
(require 'use-package) ; guess what this one does too ?

37
my-setkeys.el Normal file
View File

@@ -0,0 +1,37 @@
(global-set-key "\C-s" 'swiper)
(global-set-key (kbd "C-c C-r") 'ivy-resume)
(global-set-key (kbd "<f6>") 'ivy-resume)
(global-set-key (kbd "M-x") 'counsel-M-x)
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
(global-set-key (kbd "<f1> f") 'counsel-describe-function)
(global-set-key (kbd "<f1> v") 'counsel-describe-variable)
(global-set-key (kbd "<f1> l") 'counsel-load-library)
(global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol)
(global-set-key (kbd "<f2> u") 'counsel-unicode-char)
(global-set-key [f8] 'neotree-toggle)
(add-hook 'neotree-mode-hook
(lambda ()
(define-key evil-normal-state-local-map (kbd "TAB") 'neotree-enter)
(define-key evil-normal-state-local-map (kbd "SPC") 'neotree-enter)
(define-key evil-normal-state-local-map (kbd "q") 'neotree-hide)
(define-key evil-normal-state-local-map (kbd "RET") 'neotree-enter)))
(define-key evil-normal-state-map [escape] 'keyboard-quit)
(define-key evil-visual-state-map [escape] 'keyboard-quit)
(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-isearch-map [escape] 'minibuffer-keyboard-quit)
(defun gcm-scroll-down ()
(interactive)
(scroll-up 1))
(defun gcm-scroll-up ()
(interactive)
(scroll-down 1))
(global-set-key [(control down)] 'gcm-scroll-down)
(global-set-key [(control up)] 'gcm-scroll-up)
(global-set-key [(control next)] 'gcm-scroll-down)
(global-set-key [(control prior)] 'gcm-scroll-up)