X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=aa75064ba19b6b7836643e5bc8484b28fe6ec190;hb=ec3015036271d6b57b8f5f20b75643629a22e046;hp=8da7c4118063308f9abfdbde4afbd782c8b8c16d;hpb=e73601ca440d09097b9e5b20906a4fe96af2f16e;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 8da7c41..aa75064 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -120,6 +120,11 @@ Make a temp directory for all cache/history files (setq large-file-warning-threshold nil) #+END_SRC +*** Xterm mode +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (unless (display-graphic-p) + (xterm-mouse-mode)) +#+END_SRC * Package Management Tools ** Use-package Using [[https://github.com/jwiegley/use-package][use-package]] to manage emacs packages @@ -603,9 +608,10 @@ set height in mode line #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package ido :ensure t - :init (setq ido-enable-flex-matching nil + :init (setq ido-enable-flex-matching t ido-ignore-extensions t ido-use-virtual-buffers t + ido-use-faces nil ido-everywhere t) (setq ido-save-directory-list-file (concat sd-temp-directory "ido.last")) :config @@ -618,15 +624,6 @@ set height in mode line (define-key ido-file-completion-map (kbd "C-w") #'ido-delete-backward-word-updir) (define-key ido-file-dir-completion-map (kbd "C-w") #'ido-delete-backward-updir) ;; (define-key ido-file-dir-completion-map (kbd "C-i") #'ido-copy-current-word) - - ;; (dolist (map (list - ;; ido-buffer-completion-map - ;; ido-file-completion-map - ;; ido-file-dir-completion-map - ;; ido-common-completion-map)) - ;; (define-key map (kbd "C-w") #'ido-delete-backward-word-updir) - ;; ;; (define-key map (kbd "C-i") #'ido-copy-current-file-name) - ;; ) ) (icomplete-mode t) @@ -636,8 +633,6 @@ set height in mode line #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package flx-ido :ensure t - :init (setq ido-enable-flex-matching nil - ido-use-faces nil) :config (flx-ido-mode nil)) #+END_SRC @@ -1207,16 +1202,26 @@ extend org-mode's easy templates, refer to [[http://coldnew.github.io/coldnew-em ;; (require 'org-indent) ;; (set-face-attribute 'org-indent nil :inherit '(org-hide fixed-pitch))) - (with-eval-after-load "org" - (let ((default-font-size (if (display-graphic-p) - (- (face-attribute 'default :height) 20) - (face-attribute 'default :height)))) - (set-face-attribute 'org-code nil :height default-font-size) - (set-face-attribute 'org-block nil :height default-font-size) - (set-face-attribute 'org-table nil :family "Ubutu Mono" :height default-font-size) - (set-face-attribute 'org-formula nil :family "Ubutu Mono" :height default-font-size) - (set-face-attribute 'org-block-begin-line nil :background nil :foreground nil :inherit 'shadow :slant 'italic :height default-font-size) - (set-face-attribute 'org-block-end-line nil :background nil :foreground nil :inherit 'shadow :slant 'italic :height default-font-size))) + ;; (with-eval-after-load "org" + ;; (let ((default-font-size (- (face-attribute 'default :height) (if (display-graphic-p) 20 0)))) + ;; (set-face-attribute 'org-code nil :height default-font-size) + ;; (set-face-attribute 'org-block nil :height default-font-size) + ;; (set-face-attribute 'org-block-begin-line nil :background nil :foreground nil :inherit 'shadow :slant 'italic :height default-font-size) + ;; (set-face-attribute 'org-block-end-line nil :background nil :foreground nil :inherit 'shadow :slant 'italic :height default-font-size) + ;; (when (find-font (font-spec :name "Ubuntu Mono")) + ;; (set-face-attribute 'org-table nil :family "Ubutu Mono" :height default-font-size) + ;; (set-face-attribute 'org-formula nil :family "Ubutu Mono" :height default-font-size)))) + + (add-hook 'org-mode-hook + (lambda () + (let ((default-font-size (- (face-attribute 'default :height) (if (display-graphic-p) 20 0)))) + (set-face-attribute 'org-code nil :height default-font-size) + (set-face-attribute 'org-block nil :height default-font-size) + (set-face-attribute 'org-block-begin-line nil :background nil :foreground nil :inherit 'shadow :slant 'italic :height default-font-size) + (set-face-attribute 'org-block-end-line nil :background nil :foreground nil :inherit 'shadow :slant 'italic :height default-font-size) + (when (find-font (font-spec :name "Ubuntu Mono")) + (set-face-attribute 'org-table nil :family "Ubutu Mono" :height default-font-size) + (set-face-attribute 'org-formula nil :family "Ubutu Mono" :height default-font-size))))) #+END_SRC Also correct the face of =org-meta-line= in =org-table= @@ -1513,12 +1518,12 @@ Type =o= to go to the link ** Smart Parens #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package smartparens - :ensure t - :config - (progn - (require 'smartparens-config) - (add-hook 'prog-mode-hook 'smartparens-mode))) + ;; (use-package smartparens + ;; :ensure t + ;; :config + ;; (progn + ;; (require 'smartparens-config) + ;; (add-hook 'prog-mode-hook 'smartparens-mode))) #+END_SRC ** Ace-Windows @@ -2259,8 +2264,8 @@ C/C++ ide tools 3. tags jump *** c/c++ style #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (setq c-default-style "stroustrup" - c-basic-offset 4) + ;; (setq c-default-style "stroustrup" + ;; c-basic-offset 4) ;; "C-M-j" is my global binding for avy goto line below ;; disable it in c mode @@ -2274,6 +2279,31 @@ C/C++ ide tools (add-to-list 'auto-mode-alist '("\\.mm\\'" . objc-mode)) (setq c-hungry-delete-key t) + + + ;; Looks `c-hanging-braces-alist' doesn't work as expected when `electric-pair-mode' is enabled. + (electric-pair-mode 1) + + (defconst sd/c-style + '("stroustrup" + (c-tab-always-indent . t) + (c-basic-offset . 4) + (c-hanging-braces-alist . ((substatement-open before) + (statement-block-intro before))) + (c-hanging-colons-alist . ()) + (c-echo-syntactic-information-p . nil) + (c-hanging-semi&comma-criteria . ())) + "My C programming style") + + (c-add-style "sd-c-style" sd/c-style) + + (setq c-default-style "sd-c-style") + + (add-hook 'c-mode-hook '(lambda () + (c-toggle-auto-newline 1) + (c-set-style "sd-c-style"))) + + ;; (advice-add 'c-electric-brace :after (lambda (arg) "Add new line after insert {}" (newline-and-indent))) #+END_SRC *** irony @@ -3046,6 +3076,31 @@ Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= (let ((root (projectile-project-root))) (with-current-buffer buffer (cd root)))))) + + + + ;; https://emacs.stackexchange.com/questions/16497/how-to-exclude-files-from-projectile + (setq projectile-enable-caching t) + (if (executable-find "rg") + (progn + (defconst modi/rg-arguments + `("--line-number" ; line numbers + "--smart-case" + "--follow" ; follow symlinks + "--mmap") ; apply memory map optimization when possible + "Default rg arguments used in the functions in `projectile' package.") + + (defun modi/advice-projectile-use-rg () + "Always use `rg' for getting a list of all files in the project." + (mapconcat 'identity + (append '("\\rg") ; used unaliased version of `rg': \rg + modi/rg-arguments + '("--null" ; output null separated results, + "--files")) ; get file names matching the regex '' (all files) + " ")) + + (advice-add 'projectile-get-ext-command :override #'modi/advice-projectile-use-rg)) + (message "rg is not found")) #+END_SRC *** project config =super= keybindings @@ -3532,7 +3587,8 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d (use-package swiper :ensure t :init - (setq ivy-use-virtual-buffers t) + (setq ivy-use-virtual-buffers nil) + (setq ivy-wrap t) (set-face-attribute 'ivy-current-match nil :background "Orange" :foreground "black") :config (ivy-mode) @@ -3544,6 +3600,9 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d (define-key swiper-map (kbd "M-.") (lambda () (interactive) (insert (format "%s" (with-ivy-window (thing-at-point 'symbol))))))) + + (with-eval-after-load "ivy" + (define-key ivy-minibuffer-map (kbd "C-o") 'ivy-dispatching-done)) #+END_SRC ** Expand region map