Skip to content

Instantly share code, notes, and snippets.

@coyove
Last active September 25, 2020 00:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coyove/73f00d9be7cc83303b4f4ebda4a0430a to your computer and use it in GitHub Desktop.
Save coyove/73f00d9be7cc83303b4f4ebda4a0430a to your computer and use it in GitHub Desktop.
(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