Emacs - Add some C programming setting
authorPeng Li <seudut@gmail.com>
Tue, 19 Sep 2017 03:53:04 +0000 (11:53 +0800)
committerPeng Li <seudut@gmail.com>
Tue, 26 Sep 2017 18:29:07 +0000 (02:29 +0800)
emacs.d/config.org
emacs.d/emacs-evil.org

index e6a3710..df5100f 100644 (file)
@@ -2223,6 +2223,8 @@ C/C++ ide tools
 
   ;; objective c
   (add-to-list 'auto-mode-alist '("\\.mm\\'" . objc-mode))
+
+  (setq c-hungry-delete-key t)
 #+END_SRC
 
 *** irony
@@ -2424,7 +2426,8 @@ Set the environments vairables in compilation mode
     (setq compilation-auto-jump-to-next t)
     (setq compilation-scroll-output 'first-error)
     ;; this will save all the modified buffers before compile
-    (setq compilation-ask-about-save nil))
+    (setq compilation-ask-about-save nil)
+    (setq compilation-window-height (/ (window-total-height) 3)))
 
   ;; super-r to compile
   (with-eval-after-load "compile"
@@ -2466,6 +2469,22 @@ Set the environments vairables in compilation mode
                                              (shell-quote-argument buffer-file-name))))))))
 
   (global-set-key (kbd "s-r") 'compile)
+
+  ;; Make compilaition window always below 
+  (defun my-compilation-hook ()
+    (when (not (get-buffer-window "*compilation*"))
+      (split-window-vertically)
+      ;; (save-selected-window
+      ;;   (save-excursion
+      ;;     (let* ((w (split-window-vertically))
+      ;;            (h (window-height w)))
+      ;;       (select-window w)
+      ;;       (switch-to-buffer "*compilation*")
+      ;;       (shrink-window (- h compilation-window-height)))))
+      ))
+  ;; (add-hook 'compilation-mode-hook 'my-compilation-hook)
+
+
 #+END_SRC
 
 * Auto-Insert
@@ -3584,11 +3603,16 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d
 * Developing
 ** perspeen
 #+BEGIN_SRC emacs-lisp :tangle yes :results silent
-  (use-package perspeen
-    :ensure t
-    :init
+  ;; (use-package perspeen
+  ;;   :ensure t
+  ;;   :init
+  ;;   (setq perspeen-use-tab nil)
+  ;;   :config
+  ;;   (perspeen-mode))
+
+  (el-get-bundle seudut/perspeen
+    :features perspeen
     (setq perspeen-use-tab nil)
-    :config
     (perspeen-mode))
 
   ;; super-i to switch to ith workspace
index e4debb2..d1bcd14 100644 (file)
@@ -30,6 +30,10 @@ https://www.emacswiki.org/emacs/Evil.
       (global-evil-leader-mode))
     ;; (require 'evil-leader)
     (evil-mode t))
+
+  (add-hook 'prog-mode-hook #'(lambda ()
+                                (modify-syntax-entry ?_ "w")
+                                (modify-syntax-entry ?- "w")))
 #+END_SRC
 
 ** Initial mode and state config
@@ -66,7 +70,6 @@ https://www.emacswiki.org/emacs/Evil.
                                               (evil-emacs-state)))))
 #+END_SRC
 
-
 * Evil-escape
 [[https://github.com/syl20bnr/evil-escape][evil-escape]], escape from anything with customizable key sequence.
 #+BEGIN_SRC emacs-lisp :tangle yes :results silent
@@ -163,6 +166,9 @@ There are three kinds key bindings
     (define-key evil-insert-state-map (kbd "C-p") 'previous-line)
     (define-key evil-insert-state-map (kbd "C-n") 'next-line)
     (define-key evil-insert-state-map (kbd "C-h") 'delete-backward-char)
+    (define-key evil-insert-state-map (kbd "C-a") 'move-beginning-of-line)
+    (define-key evil-insert-state-map (kbd "C-e") 'move-end-of-line)
+    (define-key evil-insert-state-map (kbd "C-k") 'kill-line)
     ;; motion mode
     (define-key evil-motion-state-map (kbd "SPC") 'scroll-up-command)
     (define-key evil-motion-state-map (kbd "S-SPC") 'scroll-down-command))