(tool-bar-mode -1 )
(setq inhibit-startup-screen t )
(use-package org-bullets
:ensure t
:config
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1 ))))
(setq org-src-window-setup 'current-window )
(add-to-list 'org-structure-template-alist
'(" el" " #+BEGIN_SRC emacs-lisp\n ?#+END_SRC" )
)
(add-hook 'org-mode-hook 'org-indent-mode )
(require 'ein )
; ;(exec-path-from-shell-copy-env "/home/david/anaconda2/bin/ipython" )
; ;(setq elpy-rpc-python-command "/home/david/anaconda2/bin/ipython")
(elpy-enable)
(add-hook 'python-mode-hook 'elpy-mode )
(with-eval-after-load 'elpy
(remove-hook 'elpy-modules 'elpy-module-flymake )
(add-hook 'elpy-mode-hook 'flycheck-mode )
(add-hook 'elpy-mode-hook 'elpy-use-ipython " ipython3" )
(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save ))
; (elpy-use-ipython "/home/david/anaconda2/bin/ipython")
(defvar myPackages
'(better-defaults
ein ; ; add the ein package (Emacs ipython notebook)
elpy
flycheck
material-theme
py-autopep8))
(when (require 'flycheck nil t )
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
(add-hook 'elpy-mode-hook 'flycheck-mode ))
(require 'py-autopep8 )
(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save )
(setq ein:jupyter-default-server-command " /home/david/anaconda2/bin/jupyter" )
(setq ein:jupyter-server-args (list " --no-browser" ))
(use-package counsel
:ensure t
:bind
((" M-y" . counsel-yank-pop)
:map ivy-minibuffer-map
(" M-y" . ivy-next-line)))
(use-package ivy
:ensure t
:diminish (ivy-mode)
:bind ((" C-x b" . ivy-switch-buffer))
:config
(ivy-mode 1 )
(setq ivy-use-virtual-buffers t )
(setq ivy-display-style 'fancy ))
(use-package swiper
:ensure t
:bind ((" C-s" . swiper)
(" C-r" . swiper)
(" C-c C-r" . ivy-resume)
(" M-x" . counsel-M-x)
(" C-x C-f" . counsel-find-file))
:config
(progn
(ivy-mode 1 )
(setq ivy-use-virtual-buffers t )
(setq ivy-display-style 'fancy )
(define-key read-expression-map (kbd " C-r" ) 'counsel-expression-history )
))
(use-package avy
:ensure t
:bind (" M-s" . avy-goto-word-1)) ; ; changed from char as per jcs
(use-package which-key
:ensure t
:init
(which-key-mode))
(require 'ggtags )
(add-hook 'c-mode-common-hook
(lambda ()
(when (derived-mode-p 'c-mode 'c++-mode 'java-mode 'asm-mode )
(ggtags-mode 1 ))))
(define-key ggtags-mode-map (kbd " C-c g s" ) 'ggtags-find-other-symbol )
(define-key ggtags-mode-map (kbd " C-c g h" ) 'ggtags-view-tag-history )
(define-key ggtags-mode-map (kbd " C-c g r" ) 'ggtags-find-reference )
(define-key ggtags-mode-map (kbd " C-c g f" ) 'ggtags-find-file )
(define-key ggtags-mode-map (kbd " C-c g c" ) 'ggtags-create-tags )
(define-key ggtags-mode-map (kbd " C-c g u" ) 'ggtags-update-tags )
(define-key ggtags-mode-map (kbd " M-," ) 'pop-tag-mark )
; start auto-complete with emacs
; ; auto-complete
; ; C++ auto completion mode
; ; (require 'auto-complete)
; ; (require 'auto-complete-config)
; ; (ac-config-default)
; ; ;a function which initializes auto-complete-c-headers and get called for c/c++ hooks
; ; (defun my:ac-c-header-init ()
; ; (require 'auto-complete-c-headers)
; ; (add-to-list 'ac-sources 'ac-source-c-headers)
; ; (add-to-list 'achead:include-directories '"/usr/include/c++/6
; ; /usr/include/x86_64-linux-gnu/c++/6
; ; /usr/include/c++/6/backward
; ; /usr/lib/gcc/x86_64-linux-gnu/6/include
; ; /usr/local/include
; ; /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed
; ; /usr/include/x86_64-linux-gnu
; ; /usr/include"
; ; )
; ; )
; ; (add-hook 'c++-mode-hook 'my:ac-c-header-init)
; ; (add-hook 'c-mode-hook 'my:ac-c-header-init)
; ; ;; semantic mode
; ; (semantic-mode 1)
; ; (defun my:add-semantic-to-autocomplete()
; ; (add-to-list 'ac-sources 'ac-source-semantic))
; ; (add-hook 'c-mode-common-hook 'my:add-semantic-to-autocomplete)
; ; (global-semantic-idle-scheduler-mode 1)
(setq package-enable-at-startup nil )
(require 'ido )
(setq ido-enable-flex-matching nil )
(setq ido-create-new-buffer 'always )
(ido-mode t )
(use-package undo-tree
:ensure t
:init
(global-undo-tree-mode))
(use-package yasnippet
:ensure t
:config (use-package yasnippet-snippets
:ensure t )
(yas-reload-all ))
(yas-global-mode 1 )
; (add-hook 'c++-mode-hook 'yas-minor-mode)
; (add-hook 'lisp-mode-hook 'yas-minor-mode)
; (add-hook 'python-mode-hook 'yas-minor-mode)
; (require 'smartparens-config)
; (add-hook 'prog-mode-hook 'smartparens-mode)
; ;(add-hook 'prog-mode-hook 'linum-mode)
(use-package flycheck
:ensure t
:init
(global-flycheck-mode t ))
(auto-compression-mode 1 )
(setq calendar-week-start-day 1 )
(setq european-calendar-style 't )
(diary )
(defvar my-term-shell " /bin/bash" )
(defadvice ansi-term (before force-bash)
(interactive (list my-term-shell)))
(ad-activate 'ansi-term )
(defalias 'yes-or-no-p 'y-or-n-p )
(when window-system (global-hl-line-mode t ))
(use-package ido-vertical-mode
:ensure t
:init
(ido-vertical-mode 1 ))
(setq ido-verticle-define-keys 'C-n-and-C-p-only )
; (global-set-key (kbd "C-x C-b") 'ido-switch-buffer)
; (global-set-key (kbd "C-x b") 'ibuffer)
(defun config-visit ()
(interactive )
(find-file " ~/.emacs.d/myinit.org" ))
(global-set-key (kbd " C-c e" ) 'config-visit )
(defun config-reload ()
(interactive )
(org-babel-load-file (expand-file-name " ~/.emacs.d/myinit.org" )))
(global-set-key (kbd " C-c r" ) 'config-reload )
(use-package switch-window
:ensure t
:config
(setq switch-window-input-style 'minibuffer )
(setq switch-window-increase 4 )
(setq switch-window-treshold 2 )
(setq switch-window-shortcut-style 'qwerty )
(setq switch-window-qwerty-shortcuts
'(" a" " s " " d" " f" " h" " j" " k" " l" ))
:bind
([remap other-window] . switch-window))
(defun split-and-follow-horizontally ()
(interactive )
(split-window-below )
(balance-windows )
(other-window 1 ))
(global-set-key (kbd " C-x 2" ) 'split-and-follow-horizontally )
(defun split-and-follow-vertically ()
(interactive )
(split-window-right )
(balance-windows )
(other-window 1 ))
(global-set-key (kbd " C-x 3" ) 'split-and-follow-vertically )
(setq electric-pair-pairs '(
(?\( . ?\) )
(?\[ . ?\] )
(?\{ . ?\} )
(?\' . ?\' )
))
(electric-pair-mode t )
(defun copy-whole-line ()
(interactive )
(save-excursion
(kill-new
(buffer-substring
(point-at-bol )
(point-at-eol )))))
(global-set-key (kbd " C-c w l" ) 'copy-whole-line )
(use-package hungry-delete
:ensure t
:config (global-hungry-delete-mode))
(line-number-mode 1 )
(column-number-mode 1 )
rainbow delimiters & mode
(use-package rainbow-delimiters
:ensure t
:init
(rainbow-delimiters-mode 1 ))
(use-package rainbow-mode
:ensure t
:init (add-hook 'prog-mode-hook 'rainbow-mode ))
(use-package dashboard
:ensure t
:config
(dashboard-setup-startup-hook)
(setq dashboard-items '((recents . 10 )))
(setq dashboard-banner-logo-title " hello" ))
(setq display-time-24hr-format t )
(display-time-mode t )
dmenu
(use-package dmenu
:ensure t
:bind
(" s-SPC" . 'dmenu ))
(use-package symon
:ensure t
:bind (" s-h" . symon-mode))
; ; (use-package exwm
; ; :ensure t
; ; :config(require 'exwm-config)
; ; (exwm-config-default))
kill popup
(use-package popup-kill-ring
:ensure t
:bind (" M-y" . popup-kill-ring))
(use-package mark-multiple
:ensure t
:bind (" C-c q" . 'mark-next-like-this ))
(use-package expand-region
:ensure t
:bind ( " C-q" . 'er/expand-region ))
; ; (when window-system
; ; (use-package pretty-mode
; ; :ensure t
; ; :config
; ; (global-pretty-mode t)))