From 4a763115492084f343d03584ae774b75265d3315 Mon Sep 17 00:00:00 2001 From: Peng Li Date: Tue, 19 Sep 2017 11:53:04 +0800 Subject: [PATCH] Emacs - Add some C programming setting --- emacs.d/config.org | 34 +++++++++++++++++++++++++++++----- emacs.d/emacs-evil.org | 8 +++++++- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/emacs.d/config.org b/emacs.d/config.org index e6a3710..df5100f 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -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 diff --git a/emacs.d/emacs-evil.org b/emacs.d/emacs-evil.org index e4debb2..d1bcd14 100644 --- a/emacs.d/emacs-evil.org +++ b/emacs.d/emacs-evil.org @@ -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)) -- 2.11.0