myhome/.emacs.d/init.el

160 lines
3.5 KiB
EmacsLisp
Raw Normal View History

2020-08-29 14:43:11 +02:00
; Packages
;; package archives
(require 'package)
(setq package-enable-at-startup nil)
(setq package-archives
'(
("ELPA" . "http://tromey.com/elpa/")
("gnu" . "http://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/")
("ORG" . "https://orgmode.org/elpa/")
)
)
(package-initialize)
;; install use-package
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package)
)
;; Set path to store "custom-set"
(setq custom-file "~/.emacs.d/emacs-custom.el")
;; Enable awesome-tab-mode
(add-to-list 'load-path (expand-file-name "~/.emacs.d/plugins"))
(require 'awesome-tab)
(awesome-tab-mode t)
(use-package awesome-tab
:load-path "~/.emacs.d/plugins"
:config
(awesome-tab-mode t))
(awesome-tab-mode t)
2020-08-29 15:19:31 +02:00
;;awesome-tab-backward j-down, k-up, l-left, h-right
(global-set-key (kbd "C-x k") 'awesome-tab-backward-tab)
(global-set-key (kbd "C-x h") 'awesome-tab-forward-tab)
2020-08-29 14:43:11 +02:00
;; Theme
(use-package dracula-theme
:ensure t
:config
(load-theme 'dracula t))
;; Magit
(use-package magit
:ensure t
:config
)
(global-set-key (kbd "C-x g") 'magit-status)
2020-08-29 15:19:31 +02:00
;; Markdown-mode
(use-package markdown-mode
:ensure t
:config
)
;; Livedown
;;; sudo npm install -g livedown
;;; (add-to-list 'load-path (expand-file-name "~/.emacs.d/emacs-livedown"))
2020-08-29 14:43:11 +02:00
(require 'livedown)
(custom-set-variables
'(livedown-autostart nil) ; automatically open preview when opening markdown files
'(livedown-open t) ; automatically open the browser window
'(livedown-port 1337) ; port for livedown server
'(livedown-browser nil)) ; browser to use
(global-set-key (kbd "C-M-m") 'livedown-preview)
;; Mew
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
;; Optional setup (Read Mail menu for Emacs 21):
(if (boundp 'read-mail-command)
(setq read-mail-command 'mew))
;; Optional setup (e.g. C-xm for sending a message):
(autoload 'mew-user-agent-compose "mew" nil t)
(if (boundp 'mail-user-agent)
(setq mail-user-agent 'mew-user-agent))
(if (fboundp 'define-mail-user-agent)
(define-mail-user-agent
'mew-user-agent
'mew-user-agent-compose
'mew-draft-send-message
'mew-draft-kill
'mew-send-hook))
;;; --- Look & Feel ---
;; no toolbar:
(tool-bar-mode -1)
;; line numbers:
(global-display-line-numbers-mode 1)
;; scrolling:
(setq scroll-conservatively 100)
;; no "bell" (audible notification):
(setq ring-bell-function 'ignore)
;; highlight:
(global-hl-line-mode 1)
;; auto reloading (reverting) buffers
(global-auto-revert-mode 1)
;; disable lock files:
(setq create-lockfiles nil)
;; disable autosave:
(setq auto-save-default nil)
;; disable backups:
(setq make-backup-files nil)
;; Pass "y or n" instead of "yes or no"
(defalias 'yes-or-no-p 'y-or-n-p)
;; Highlight parens
(show-paren-mode 1)
;; Candy
(global-prettify-symbols-mode 1)
;; Modeline
(column-number-mode 1)
(size-indication-mode 1)
;; Horizontal splitting
(defun split-and-follow-horizontally ()
(interactive)
(split-window-below)
(balance-windows)
(other-window 1)
)
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)
;; Vertical splitting
(defun split-and-follow-vertically ()
(interactive)
(split-window-right)
(balance-windows)
(other-window 1)
)
(global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
;; Kill & remove split
(defun kill-and-remove-split ()
"Kill and remove split."
(interactive)
(kill-buffer)
(delete-window)
(balance-windows)
(other-window 1)
)
(global-set-key (kbd "C-x x") 'kill-and-remove-split)