;;;; init.el -*- lexical-binding: t; -*- (require 'package) ;;; either the stable version: (add-to-list 'package-archives ;; '("melpa" . "http://stable.melpa.org/packages/") ; many packages won't show if using stable '("melpa" . "http://melpa.milkbox.net/packages/") t) (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. (package-initialize) (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (require 'use-package) (setq use-package-always-ensure t) ; install evil (use-package evil :ensure t :config (evil-mode 1)) ; Org-mode (use-package org :ensure t) (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswtichb) ; Markdown mode (use-package markdown-mode :ensure t) ; install goto last change (opens the file in the last position) (use-package goto-last-change :ensure t) ; install fill-column-indicador: right side gutter (use-package fill-column-indicator :ensure t) ; install powerline (use-package powerline :ensure t :config (powerline-center-evil-theme)) ; rust mode (use-package rust-mode :ensure t) ; colorscheme ; (use-package monokai-theme ; :ensure t) (use-package nord-theme :ensure t) (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. '(custom-enabled-themes (quote (nord))) '(custom-safe-themes (quote ("bd7b7c5df1174796deefce5debc2d976b264585d51852c962362be83932873d9" "039eb505cec29b4521ce5ecf5abf523492005f0c65d0640f62e53e2d3068b393" "6c0a087a4f49c04d4002393ffd149672f70e4ab38d69bbe8b39059b61682b61c" default))) '(inhibit-startup-screen t) '(org-agenda-files (quote ("~/Documents/index.org"))) '(package-selected-packages (quote (markdown-mode org-evil org-link-minor-mode rust-mode evil-quickscope evil-tabs ## scala-mode evil-leader editorconfig diff-hl neotree helm-ag helm-projectile projectile helm hlinum fill-column-indicator evil monokai-theme cider)))) (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. ) (menu-bar-mode 0) (tool-bar-mode 0) (show-paren-mode 1) (require 'whitespace) (setq whitespace-style '(face empty tabs lines-tail trailing)) (global-whitespace-mode t) (setq-default fill-column 80) (define-globalized-minor-mode global-fci-mode fci-mode (lambda () (fci-mode 1))) (global-fci-mode 1) (define-key evil-normal-state-map (kbd "C-w ") 'evil-window-down) (define-key evil-normal-state-map (kbd "C-w ") 'evil-window-up) (define-key evil-normal-state-map (kbd "C-w ") 'evil-window-right) (define-key evil-normal-state-map (kbd "C-w ") 'evil-window-left) (define-key evil-normal-state-map (kbd "-") 'find-file) ; most of this stuff was taken from https://brainlessdeveloper.com/2017/12/27/making-emacs-work-like-my-vim-setup/ ; and https://github.com/brainlessdeveloper/emacs.d ; line numbers (global-linum-mode 1) (defun configure-linum-colors () (set-face-foreground 'linum "#555555")) (configure-linum-colors) (setq linum-format " %4d ") ; highlights the current line (use-package hlinum :ensure t) (set-face-foreground 'linum-highlight-face "white") (set-face-background 'linum-highlight-face nil) (hlinum-activate) ; display line and column in the statusbar (line-number-mode 1) (column-number-mode 1) ; don't show startup messages (setq inhibit-startup-message t) (setq initial-scratch-message nil) ; auto-pairs (electric-pair-mode 1) ; scala support (use-package scala-mode :interpreter ("scala" . scala-mode)) ; rust support ; neotree is a nerdtree like (use-package neotree :ensure t) (evil-define-key 'normal neotree-mode-map (kbd "TAB") 'neotree-enter) (evil-define-key 'normal neotree-mode-map (kbd "SPC") 'neotree-quick-look) (evil-define-key 'normal neotree-mode-map (kbd "q") 'neotree-hide) (evil-define-key 'normal neotree-mode-map (kbd "RET") 'neotree-enter) ; git gutters (use-package diff-hl :ensure t :init (setq diff-hl-side 'right)) (global-diff-hl-mode 1) (diff-hl-margin-mode 1) (diff-hl-flydiff-mode 1) ; install editorconfig (use-package editorconfig :ensure t :config (editorconfig-mode 1)) ; install evil-leader and set it as space (use-package evil-leader :ensure t :config (global-evil-leader-mode)) (evil-leader/set-leader "") (evil-leader/set-key "q" 'kill-buffer-and-window "w" 'save-buffer "t" 'neotree-toggle "o" 'org-capture "O" 'org-agenda ) ; answer questions with 'y' instead of full 'yes' (defalias 'yes-or-no-p 'y-or-n-p)