forked from xyguo/emacs.d
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit-editing-utils.el
154 lines (125 loc) · 4.06 KB
/
init-editing-utils.el
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
(add-to-list 'load-path (expand-file-name "lisp/editing-utils" user-emacs-directory))
;;(add-to-list 'load-path "f:/emacs/.emacs.d/elpa/help-fns")
(add-to-list 'load-path "~/.emacs.d/elpa/help-fns")
;; enhanced help mechanism
;;(require-package 'help-fns+)
(require 'help-fns+)
;; dimish minor mode name to save mode line space
(require-package 'diminish)
;; some default value
(setq-default
blink-cursor-delay 0.5
blink-cursor-interval 0.4
buffers-menu-max-size 20
case-fold-search t
column-number-mode t
compilation-scroll-output t
delete-selection-mode t
grep-scroll-output t
indent-tabs-mode nil
line-spacing 0.2
make-backup-files nil
mouse-yank-at-point t
save-interprogram-paste-before-kill t
scroll-preserve-screen-position 'always
scroll-step 1
scroll-margin 3
scroll-conservatively 10000
set-mark-command-repeat-pop t
show-trailing-whitespace t
tooltip-delay 1.5
truncate-lines nil
truncate-partial-width-windows nil
visible-bell t)
(set-scroll-bar-mode nil)
(tool-bar-mode 0)
;; auto-revert
(global-auto-revert-mode)
(setq global-auto-revert-non-file-buffers t
auto-revert-verbose t)
;; enable auto-pairing
(require 'init-autopair)
(diminish 'autopair-mode)
;; some personal key bindings
(global-set-key (kbd "C-c r") 'replace-string)
;; newline behavior
(global-set-key (kbd "RET") 'newline-and-indent)
(defun sanityinc/newline-at-end-of-line ()
"Move to end of line, enter a newline, and reindent."
(interactive)
(move-end-of-line 1)
(newline-and-indent))
(global-set-key (kbd "<S-return>") 'sanityinc/newline-at-end-of-line)
;; change yes-or-no to y-or-n
;; (fset 'yes-or-no-p 'y-or-n-p)
;; display time
(display-time-mode t)
(setq display-time-24hr-format t)
;; display line number
;; (require 'linum)
(require-package 'hlinum)
;; (require 'hlinum)
(hlinum-activate)
(global-linum-mode t)
;; visual line
(global-visual-line-mode t)
;; (diminish 'global-visual-line-mode)
(diminish 'visual-line-mode)
;; expand-region
(require-package 'expand-region)
(global-set-key (kbd "C-=") 'er/expand-region)
;; enable uppercase and lowercase transform for region
(put 'upcase-region 'disabled nil)
(put 'downcase-region 'disabled nil)
;; whole-line-or-region-mode
(require-package 'whole-line-or-region)
(whole-line-or-region-mode t)
(diminish 'whole-line-or-region-mode)
(make-variable-buffer-local 'whole-line-or-region-mode)
;; enable cua mode without prefix key
(cua-selection-mode t)
;; use page-break-line to handle the ^L page-breaking symbol
(require-package 'page-break-lines)
(global-page-break-lines-mode)
(diminish 'page-break-lines-mode)
;; enable subword-mode
;; (global-subword-mode t)
;; multiple-cursors-mode
;; (require-package 'multiple-cursors)
;; multiple-cursors
;; (global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
;; (global-set-key (kbd "C->") 'mc/mark-next-like-this)
;; (global-set-key (kbd "C-+") 'mc/mark-next-like-this)
;; (global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this)
;; From active region to multiple cursors:
;; (global-set-key (kbd "C-c c r") 'set-rectangular-region-anchor)
;; (global-set-key (kbd "C-c c c") 'mc/edit-lines)
;; (global-set-key (kbd "C-c c e") 'mc/edit-ends-of-lines)
;; (global-set-key (kbd "C-c c a") 'mc/edit-beginnings-of-lines)
;; switch-window
(require 'init-switch-window)
;; Set "C-x p" to select the previous window
(defun other-window-backward (&optional n)
"Select the Nth previous window"
(interactive "P")
(other-window (- (prefix-numeric-value n))))
(global-set-key "\C-xp" 'other-window-backward)
;; undo-tree
(require 'init-undo-tree)
(diminish 'undo-tree-mode)
;; outline-minor-mode
(require 'init-outl-minor)
;; use C-u C-u C-s/r to trigger the flexible search action
(require 'init-flex-isearch)
;; set some compilation shortcuts
(require 'init-compile)
;; spell checking
;; (when (executable-find "hunspell")
;; (setq-default ispell-program-name "hunspell")
;; (setq ispell-really-hunspell t)
;; (require 'init-flyspell))
(when (executable-find "aspell")
(setq-default ispell-program-name "aspell")
(setq ispell-really-aspell t)
(require 'init-flyspell))
(provide 'init-editing-utils)