【初化的一些配置】
This commit is contained in:
commit
9674d52104
17
.gitignore
vendored
Normal file
17
.gitignore
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
auto-save-list/*
|
||||
elpa/*
|
||||
.cache/*
|
||||
transient/
|
||||
ido.last
|
||||
history
|
||||
recentf
|
||||
places
|
||||
custom.el
|
||||
projectile-bookmarks.eld
|
||||
.lsp-session-v1
|
||||
projects
|
||||
org-persist
|
||||
org-roam.db
|
||||
server/
|
||||
*~
|
||||
eln-cache/
|
13
init.el
Normal file
13
init.el
Normal file
|
@ -0,0 +1,13 @@
|
|||
;;; init.el -- 初始化配置
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(add-to-list 'load-path "~/.emacs.d/lisp")
|
||||
|
||||
(require 'init-package) ; 配置包管理器
|
||||
(require 'init-custom) ; 默认配置
|
||||
(require 'init-autocomplete) ; 自动补伤全配置
|
||||
(require 'init-hydra) ; hydra配置自定的快捷键
|
||||
(require 'init-errors) ; 错误/警告提示引擎配置
|
||||
(require 'init-projectile) ; 项目管理配置
|
||||
(require 'init-magit) ; git客户端
|
||||
;;; init.el ends here
|
24
lisp/init-autocomplete.el
Normal file
24
lisp/init-autocomplete.el
Normal file
|
@ -0,0 +1,24 @@
|
|||
;;; package -- init-autocomplete
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
;; 文本提示的配置 - company
|
||||
(use-package company
|
||||
:ensure t
|
||||
:config
|
||||
(add-hook 'after-init-hook 'global-company-mode)
|
||||
(setq company-idle-delay .2 ; 延时多少秒后弹出
|
||||
company-minimum-prefix-length 1 ; 至少几个字符后开始补全
|
||||
company-show-quick-access t ; 选项快速访问
|
||||
company-tooltip-limit 20 ; 菜单里的可选数量
|
||||
company-tooltip-align-annotations t ; 注释贴右侧对齐
|
||||
))
|
||||
;; 命令提示的配置,M-x后命令的提示 - ivy
|
||||
(use-package ivy
|
||||
:ensure t
|
||||
:config
|
||||
(ivy-mode 1)
|
||||
(setq ivy-format-function #'ivy-format-function-arrow)
|
||||
(define-key ivy-minibuffer-map (kbd "RET") #'ivy-alt-done)
|
||||
)
|
||||
(provide 'init-autocomplete)
|
||||
;;; init-autocomplete.el ends here
|
43
lisp/init-custom.el
Normal file
43
lisp/init-custom.el
Normal file
|
@ -0,0 +1,43 @@
|
|||
;;; package -- init-custome
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(tool-bar-mode -1)
|
||||
;; 隐藏菜单栏
|
||||
(menu-bar-mode -1)
|
||||
;; 显示行号
|
||||
(global-display-line-numbers-mode 1)
|
||||
;; 关闭滚动条
|
||||
(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
|
||||
;; 关闭光标到边缘区域后自动翻页
|
||||
(setq-default scroll-step 1 scroll-margin 0 scroll-conservatively 10000)
|
||||
;; 括号自动匹配
|
||||
(electric-pair-mode 1)
|
||||
;; 关闭自动保存,自动备份文件
|
||||
(auto-save-mode nil)
|
||||
(setq make-backup-files nil)
|
||||
;; 字体
|
||||
(cond
|
||||
;; 如果是windows系统, 设置Consolas字体
|
||||
((eq system-type 'windows-nt)
|
||||
(set-face-attribute 'default nil :font "Consolas-11"))
|
||||
;; 如果是Linux系统
|
||||
((eq system-type 'gnu/linux)
|
||||
(set-face-attribute 'default nil :font "Ubuntu Mono-12"))
|
||||
)
|
||||
;; 配置编码
|
||||
(set-language-environment "UTF-8")
|
||||
(set-default-coding-systems 'utf-8)
|
||||
;; 配置whitespace
|
||||
(global-whitespace-mode t)
|
||||
;; 配置yes和no的别名
|
||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||
;; 选中的内容可以C-d删除
|
||||
(delete-selection-mode 1)
|
||||
;; 选中的内容可以粘贴覆盖
|
||||
(cua-selection-mode 1)
|
||||
;; 关闭启动文档
|
||||
(setq inhibit-splash-screen 1)
|
||||
;; 重新映射mark的快捷键
|
||||
(global-set-key (kbd "C-,") 'set-mark-command)
|
||||
(provide 'init-custom)
|
||||
;;; init-custom.el ends here
|
11
lisp/init-errors.el
Normal file
11
lisp/init-errors.el
Normal file
|
@ -0,0 +1,11 @@
|
|||
;;; init-errors -- 错误/警告提示配置
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(use-package flycheck
|
||||
:init
|
||||
(setq flycheck-emacs-lisp-load-path 'inherit)
|
||||
:config
|
||||
(global-flycheck-mode)
|
||||
)
|
||||
(provide 'init-errors)
|
||||
;;; init-errors.el ends here
|
65
lisp/init-hydra.el
Normal file
65
lisp/init-hydra.el
Normal file
|
@ -0,0 +1,65 @@
|
|||
;;; init-hydra -- 配置自定的快捷键 -*- lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
;; 安装(如果未装的话)
|
||||
(use-package hydra
|
||||
:ensure t)
|
||||
;; 定义hydra入口,我的常用快捷键都放在这
|
||||
(defhydra hydra-main (:color blue :hint nil)
|
||||
"
|
||||
^命令^
|
||||
^^^^^^^^^^------------------------------
|
||||
_f_: 文件目录操作 _p_: Projectile项目管理
|
||||
"
|
||||
("f" hydra-file-dir-operations/body "文件目录操作")
|
||||
("p" hydra-projectile-operations/body "Projectile项目管理")
|
||||
)
|
||||
|
||||
;; 定义一个用于文件操作的 hydra
|
||||
(defhydra hydra-file-dir-operations (:color blue :hint nil)
|
||||
"
|
||||
^文件操作^ ^目录操作^
|
||||
^^^^^^^^^^------------------------------
|
||||
_f_: 打开文件 _d_: 打开目录
|
||||
_s_: 保存文件 _m_: 创建目录
|
||||
_d_: 删除文件 _k_: 删除目录
|
||||
_c_: 关闭文件 _j_: dired 模式
|
||||
_r_: 重命名文件 _n_: 选择目录
|
||||
"
|
||||
;; 文件操作
|
||||
("f" find-file "打开文件")
|
||||
("s" save-buffer "保存文件")
|
||||
("c" kill-buffer "关闭文件")
|
||||
("x" delete-file "删除文件")
|
||||
("r" rename-file "重命名文件")
|
||||
|
||||
;; 目录操作
|
||||
("d" dired "打开目录")
|
||||
("m" make-directory "创建目录")
|
||||
("k" (lambda () (interactive) (dired-delete-file (dired-get-file-for-visit))) "删除目录")
|
||||
("j" dired-jump "dired 模式")
|
||||
("n" dired "选择目录")
|
||||
)
|
||||
;; 定义一个用于Projectile项目管理的 hydra
|
||||
(defhydra hydra-projectile-operations (:color blue :hint nil)
|
||||
"
|
||||
^Projectile项目管理^
|
||||
^^^^^^^^^^^^^^^^^^^--------------------
|
||||
_p_: 切换项目 _f_: 查找文件
|
||||
_d_: 查找目录 _s_: 正则查找
|
||||
_g_: 全局搜索 _b_: 切换缓冲区
|
||||
_r_: 重命名项目
|
||||
"
|
||||
("p" projectile-switch-project "切换项目")
|
||||
("f" projectile-find-file "查找文件")
|
||||
("d" projectile-find-dir "查找目录")
|
||||
("s" projectile-grep "正则查找")
|
||||
("g" projectile-grep "全局搜索")
|
||||
("b" projectile-switch-to-buffer "切换缓冲区")
|
||||
("r" projectile-replace "重命名项目")
|
||||
)
|
||||
|
||||
;; 绑定一个快捷键来激活这个 Hydra,Alt + 空格键
|
||||
(global-set-key (kbd "M-s") 'hydra-main/body)
|
||||
(provide 'init-hydra)
|
||||
;;; init-hydra.el ends here
|
6
lisp/init-magit.el
Normal file
6
lisp/init-magit.el
Normal file
|
@ -0,0 +1,6 @@
|
|||
;;; init-magit -- git客户端magit配置
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(use-package magit)
|
||||
(provide 'init-magit)
|
||||
;;; init-magit.el ends here
|
31
lisp/init-package.el
Normal file
31
lisp/init-package.el
Normal file
|
@ -0,0 +1,31 @@
|
|||
;;; init-package -- package管理配置
|
||||
;;; Commentary: 通过use-package管理软件
|
||||
;;; Code:
|
||||
;; 激活配置
|
||||
(package-initialize)
|
||||
;; 配置镜像
|
||||
|
||||
|
||||
(setq package-archives '(("melpa" . "http://melpa.org/packages/")
|
||||
("melpa-stable" . "http://stable.melpa.org/packages/")
|
||||
("org" . "https://orgmode.org/elpa/")
|
||||
("gnu". "https://elpa.gnu.org/packages/")
|
||||
))
|
||||
|
||||
;; 如果没有装use-package
|
||||
(unless (package-installed-p 'use-package)
|
||||
;; 更新本地缓存
|
||||
(package-refresh-contents)
|
||||
;; 安装它
|
||||
(package-install 'use-package)
|
||||
)
|
||||
|
||||
(require 'use-package)
|
||||
;; 让use-package永远按需安装软件包
|
||||
(setq use-package-always-ensure t)
|
||||
|
||||
|
||||
(use-package better-defaults)
|
||||
|
||||
(provide 'init-package)
|
||||
;;; init-package.el ends here
|
13
lisp/init-projectile.el
Normal file
13
lisp/init-projectile.el
Normal file
|
@ -0,0 +1,13 @@
|
|||
;;; init-projectile -- 项目管理的配置
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
;; 安装(如未安装)
|
||||
(use-package projectile
|
||||
:ensure t
|
||||
:config
|
||||
(setq projectile-cache-file (expand-file-name ".cache/projectile.cache" user-emacs-directory))
|
||||
(projectile-mode 1))
|
||||
|
||||
(provide 'init-projectile)
|
||||
;;; init-projectile.el ends here
|
Loading…
Reference in New Issue
Block a user