first commit
This commit is contained in:
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
elpa/
|
||||
eshell/
|
||||
lisp/
|
||||
auto-save-list/
|
||||
recentf
|
||||
themes/
|
||||
network-security.data
|
||||
8
init.el
Normal file
8
init.el
Normal 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
40
my-linum.el
Normal 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
50
my-loadpackages.el
Normal 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
62
my-modeline.el
Normal 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
70
my-noexternals.el
Normal 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
15
my-packages.el
Normal 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
37
my-setkeys.el
Normal 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)
|
||||
Reference in New Issue
Block a user