Last active
September 25, 2020 00:39
-
-
Save coyove/73f00d9be7cc83303b4f4ebda4a0430a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(fset 'yes-or-no-p 'y-or-n-p) | |
(add-to-list 'default-frame-alist '(fullscreen . maximized)) | |
(defun set-exec-path-from-shell-PATH () | |
(tool-bar-mode 0) | |
;; (load-theme 'leuven t) | |
(load-theme 'monokai t) | |
(if (eq system-type 'windows-nt) | |
(progn | |
(set-face-attribute 'default nil :height 140) | |
(custom-set-faces | |
'(default ((t (:family "Cascadia Mono" :foundry "outline" :slant normal :weight normal :height 141 :width normal)))))) | |
(progn | |
(let ((path-from-shell | |
(replace-regexp-in-string "[ \t\n]*$" "" (shell-command-to-string "$SHELL --login -i -c 'echo $PATH'")))) | |
(set-face-attribute 'default nil :height 160) | |
(setenv "PATH" path-from-shell) | |
(setq eshell-path-env path-from-shell) ; for eshell users | |
(setq exec-path (split-string path-from-shell path-separator)))))) | |
;; Set up package.el to work with MELPA | |
(require 'package) | |
(add-to-list 'package-archives '("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa-stable/")) | |
(package-initialize) | |
;; (package-refresh-contents) | |
(setq package-check-signature nil) | |
(unless (package-installed-p 'evil) (package-install 'evil)) | |
(unless (package-installed-p 'go-mode) (package-install 'go-mode)) | |
(unless (package-installed-p 'lsp-mode) (package-install 'lsp-mode)) | |
(unless (package-installed-p 'auto-complete) (package-install 'auto-complete)) | |
;; (unless (package-installed-p 'go-autocomplete) (package-install 'go-autocomplete)) | |
(unless (package-installed-p 'company) (package-install 'company)) | |
(unless (package-installed-p 'go-capf) (package-install 'go-capf)) | |
(unless (package-installed-p 'magit) (package-install 'magit)) | |
(unless (package-installed-p 'monokai-theme) (package-install 'monokai-theme)) | |
(unless (package-installed-p 'quasi-monochrome-theme) (package-install 'quasi-monochrome-theme)) | |
(setq evil-want-C-u-scroll t) | |
(setq-default evil-kill-on-visual-paste nil) | |
(setq evil-scroll-count 5) | |
(setq gofmt-command "goimports") | |
(require 'evil) | |
(require 'monokai-theme) | |
(require 'quasi-monochrome-theme) | |
(require 'magit) | |
(require 'go-mode) | |
(require 'lsp-mode) | |
(require 'auto-complete-config) | |
(require 'company) | |
(require 'go-capf) | |
(push 'go-capf company-backends) | |
(if (display-graphic-p) | |
(progn | |
(set-exec-path-from-shell-PATH) | |
(set-face-attribute 'mode-line nil :background "#f44336")) | |
(progn | |
(load-theme 'quasi-monochrome t) | |
(set-face-attribute 'mode-line nil :background "red" :foreground "white") | |
(custom-theme-set-faces | |
'quasi-monochrome | |
'(font-lock-comment-face ((t (:foreground "lime green")))) | |
'(font-lock-string-face ((t (:foreground "lime green"))))))) | |
(ac-config-default) | |
;; (require 'go-autocomplete) | |
(evil-mode 1) | |
(defun quit-to-normal () | |
(interactive) | |
(if (string-match-p "*eshell*" (buffer-name (current-buffer))) | |
(execute-kbd-macro (kbd "C-v ~")) | |
(evil-force-normal-state))) | |
(defun C-p-eshell-previous () | |
(interactive) | |
(when (string-match-p "*eshell*" (buffer-name (current-buffer))) | |
(execute-kbd-macro [up]))) | |
(evil-global-set-key 'insert (kbd "C-p") 'C-p-eshell-previous) | |
(evil-global-set-key 'insert (kbd "C-x g") 'magit-status) | |
(evil-global-set-key 'insert (kbd "`") 'evil-force-normal-state) | |
(evil-global-set-key 'insert (kbd "~") 'quit-to-normal) | |
(evil-global-set-key 'visual (kbd "`") 'evil-force-normal-state) | |
(evil-global-set-key 'visual (kbd "~") 'evil-force-normal-state) | |
(evil-global-set-key 'motion "j" 'evil-next-visual-line) | |
(evil-global-set-key 'motion "k" 'evil-previous-visual-line) | |
;; (global-set-key (kbd "C-l") 'tabbar-forward-tab) | |
(global-set-key (kbd "s-x") 'execute-extended-command) | |
(global-set-key [(control x) (k)] 'kill-this-buffer) | |
(global-set-key (kbd "M-w") 'kill-ring-save) | |
(define-key company-active-map (kbd "<tab>") 'company-select-next) | |
(define-key company-active-map (kbd "S-<tab>") 'company-select-previous) | |
(eval-after-load "dired" '(progn ( define-key dired-mode-map (kbd "-") 'dired-up-directory) )) | |
(add-hook 'dired-mode-hook 'hl-line-mode) | |
(add-hook 'dired-mode-hook 'auto-revert-mode) | |
(defun my-list-buffers () | |
(interactive) | |
(list-buffers) | |
(switch-to-buffer "*Buffer List*") | |
(delete-other-windows)) | |
(global-set-key [(control x) (control b)] 'my-list-buffers) | |
(global-set-key [(control x) (control x)] 'evil-mode) | |
(evil-ex-define-cmd "ter" 'eshell) | |
(evil-ex-define-cmd "Ter" 'eshell) | |
(evil-ex-define-cmd "ter2" (lambda () (interactive) (eshell 2))) | |
(evil-ex-define-cmd "ter3" (lambda () (interactive) (eshell 3))) | |
(evil-ex-define-cmd "W" 'evil-write) | |
(evil-ex-define-cmd "Q" 'evil-quit) | |
(set-face-background 'highlight (face-background 'default)) | |
(set-face-foreground 'highlight (face-foreground 'default)) | |
(global-hl-line-mode 1) | |
(set-face-attribute hl-line-face nil :underline t :background (face-background 'default)) | |
(recentf-mode 1) | |
(setq recentf-max-menu-items 25) | |
(setq recentf-max-saved-items 25) | |
(global-set-key "\C-x\ \C-r" 'recentf-open-files) | |
(add-hook 'before-save-hook 'gofmt-before-save) | |
(add-hook 'go-mode-hook 'lsp-deferred) | |
(defun find-file-hooker () | |
(ignore-errors | |
(progn | |
(show-paren-mode 1) | |
(auto-save-mode 0) | |
(hs-minor-mode) | |
(display-line-numbers-mode) | |
(hl-line-mode)))) | |
(add-hook 'find-file-hook 'find-file-hooker) | |
(defun enter-insert () (hl-line-mode 0)) | |
(defun leave-insert () (hl-line-mode 1)) | |
(add-hook 'evil-insert-state-entry-hook 'enter-insert) | |
(add-hook 'evil-insert-state-exit-hook 'leave-insert) | |
(setq backup-directory-alist `(("." . "~/.emacs.d/.saves"))) | |
(setq-default delete-old-versions t) | |
;; (setq backup-by-copying t) | |
;; (setq message-truncate-lines 4) | |
(setq-default display-line-numbers-width 3) | |
(add-to-list 'lsp-file-watch-ignored "[/\\\\]\\.csv$") | |
(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-safe-themes | |
(quote | |
("6b2c6e5bc1e89cf7d927d17f436626eac98a04fdab89e080f4e193f6d291c93d" default))) | |
'(package-selected-packages (quote (lsp-mode go-mode go-autocomplete evil))) | |
'(show-paren-mode t) | |
'(tool-bar-mode nil)) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment