References:
Key settings
- Set
Commandas the meta key.1 2 3 4
;; key bindings (when (eq system-type 'darwin) ;; mac specific settings (setq mac-option-modifier 'meta) )
- Switch
CtrlandCaps Lockin System settings.Caps Lockis used less often and is more convient for Emacs use based on my habit.
Initialization file settings
Before installing the required emacs packages, run M-x list-packages to upgrade packages.
After testing different themes, including doom themes, the default material theme, and many other themes in MELPA, I chose zenburn-theme. It is easy on my eyes and the coloring scheme fits me. Run M-x package-install <Return> zenburn-theme to install the package.
The following is my ~/.emacs file. Check the comments for details.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
;; ================== Update date: Apr. 10 ==================
;; set the spacing format of line numbers
(setq linum-format "%4d \u2502")
;; silence warnings about python indentation
(setq python-indent-guess-indent-offset-verbose nil)
;; show which parenthesis matches the one you are looking at
(show-paren-mode 1)
;; auto close bracket insertion
(electric-pair-mode 1)
;; ============== Update date: Apr. 10 ==============
;; Reference: https://realpython.com/emacs-the-best-python-editor/
;; ===================================
;; MELPA Package Support
;; ===================================
;; Enables basic packaging support
(require 'package)
;; Adds the Melpa archive to the list of available repositories
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/") t)
;; Initializes the package infrastructure
(package-initialize)
;; Installs packages
;;
;; myPackages contains a list of package names
(defvar myPackages
'(better-defaults ;; Set up some better Emacs defaults
elpy ;; Emacs Lisp Python Environment
flycheck ;; On the fly syntax checking
ein ;; Emacs IPython Notebook
material-theme ;; Theme
doom-themes ;; Doom-Themes
)
)
;; Scans the list in myPackages
;; If the package listed is not already installed, install it
(mapc #'(lambda (package)
(unless (package-installed-p package)
(package-install package)))
myPackages)
;; ===================================
;; Basic Customization
;; ===================================
(setq inhibit-startup-message t) ;; Hide the startup message
(load-theme 'zenburn t) ;; Load Doom dark+ theme
;;(load-theme 'material t) ;; Load material theme
(global-linum-mode t) ;; Enable line numbers globally
;; ====================================
;; Development Setup
;; ====================================
;; Enable elpy
(elpy-enable)
;; Use IPython for REPL
(setq elpy-shell-echo-output nil
python-shell-interpreter "ipython3"
python-shell-interpreter-args "--simple-prompt -c exec('__import__(\\'readline\\')') -i")
;; Enable Flycheck
(when (require 'flycheck nil t)
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
(add-hook 'elpy-mode-hook 'flycheck-mode))
;; User-Defined init.el ends here
(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.
'(package-selected-packages
(quote
(markdown-mode zenburn-theme doom-themes material-theme better-defaults))))
(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.
)
;; =================== Update date: Apr. 8 ================
;; key bindings
(when (eq system-type 'darwin) ;; mac specific settings
(setq mac-option-modifier 'meta)
)