Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * Genearal
- ** use package
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- ;; This is only needed once, near the top of the file
- (eval-when-compile
- ;; Following line is not needed if use-package.el is in ~/.emacs.d
- (add-to-list 'load-path "<path where use-package is installed>")
- (require 'use-package))
- #+END_SRC
- ** evil everywhere
- #+BEGIN_SRC emacs-lisp :tangle user-init.el
- (setq evil-want-keybinding nil)
- #+END_SRC
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- ;; WARNING: Order dependent
- (use-package evil
- :ensure t
- :init
- (setq evil-want-integration nil)
- :config
- (evil-mode 1))
- (use-package evil-collection
- :after evil
- :ensure t
- :config
- ;; (evil-collection-init)
- (evil-collection-init 'calc)
- (evil-collection-init 'rtags)
- (evil-collection-init 'custom)
- :custom
- (evil-collection-setup-minibuffer t))
- #+END_SRC
- ** explorer starts here
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (setq default-directory "~/Dropbox/")
- #+END_SRC
- ** fixes
- *** Semantic
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- ;; ;; remove sticky func line
- ;; (with-eval-after-load 'semantic
- ;; (setq semantic-default-submodes
- ;; (remove 'global-semantic-stickyfunc-mode
- ;; semantic-default-submodes))
- ;; ;; might do something about the slowdown
- ;; ;; (setq semantic-default-submodes
- ;; ;; (remove 'global-semantic-idle-scheduler-mode semantic-default-submodes))
- ;; (cl-delete-if (lambda (x) (string-match-p "^semantic-" (symbol-name x))) completion-at-point-functions)
- ;; )
- ;; (spacemacs/toggle-semantic-stickyfunc-globally-off)
- #+END_SRC
- *** helm
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- ;; (require 'helm-bookmark)
- #+END_SRC
- *** Allways open new window/frame/why...
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- ;; (setq pop-up-frames t)
- ;; ;; (purpose-mode -1)
- #+END_SRC
- *** smart parents dont escape
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (setq sp-escape-quotes-after-insert nil)
- #+END_SRC
- ** english / german
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- ;;(setq-default ispell-dictionary "german")
- (setq-default ispell-dictionary "english")
- #+END_SRC
- ** Movement
- *** Avy
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (setq-default avy-keys '(?n ?e ?r ?a ?t ?i ?d ?u))
- (define-key evil-normal-state-map (kbd "k") 'evil-avy-goto-word-or-subword-1)
- (define-key evil-visual-state-map (kbd "k") 'evil-avy-goto-word-or-subword-1)
- (define-key evil-motion-state-map (kbd "k") 'evil-avy-goto-word-or-subword-1)
- (define-key evil-operator-state-map (kbd "k") 'evil-avy-goto-word-or-subword-1)
- (define-key evil-replace-state-map (kbd "k") 'evil-avy-goto-word-or-subword-1)
- (define-key evil-insert-state-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (define-key evil-emacs-state-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (define-key evil-normal-state-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (define-key evil-visual-state-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (define-key evil-motion-state-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (define-key evil-operator-state-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (define-key evil-outer-text-objects-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (define-key evil-inner-text-objects-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (define-key evil-replace-state-map (kbd "C-f") 'evil-avy-goto-char-in-line)
- (global-set-key (kbd "C-f") 'evil-avy-goto-char-in-line)
- #+END_SRC
- *** J and K jump between whitespaces
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (defun next-whitespace()
- (interactive)
- (forward-char)
- (setq found (search-forward " \n" nil t nil))
- (when found (backward-char))
- )
- (defun previous-whitespace()
- (interactive)
- (setq found (search-backward " \n" nil t nil))
- )
- (define-key evil-normal-state-map (kbd "M-k") 'previous-whitespace)
- (define-key evil-normal-state-map (kbd "M-j") 'next-whitespace)
- #+END_SRC
- *** arrowkeys leave insert mode
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (defun leave-insert-up ()
- (interactive)
- (evil-normal-state)
- (evil-previous-line)
- )
- (define-key evil-insert-state-map (kbd "<up>") 'leave-insert-up)
- (defun leave-insert-down ()
- (interactive)
- (evil-normal-state)
- (evil-next-line)
- )
- (define-key evil-insert-state-map (kbd "<down>") 'leave-insert-down)
- #+END_SRC
- *** gedankenstrich move up
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (global-set-key (kbd "−") 'evil-previous-line-first-non-blank)
- #+END_SRC
- *** jump to same indent
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (defun jump-to-same-indent (direction)
- (interactive "P")
- (let ((start-indent (current-indentation)))
- (while
- (and (not (bobp))
- (zerop (forward-line (or direction 1)))
- (or (= (current-indentation) 0)
- (> (current-indentation) start-indent)))))
- (back-to-indentation))
- (define-key evil-normal-state-map (kbd "M-{") '(lambda () (interactive) (jump-to-same-indent -1)))
- (define-key evil-normal-state-map (kbd "M-}") 'jump-to-same-indent)
- #+END_SRC
- *** jump to register with j
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (define-key evil-normal-state-map "j" 'evil-goto-mark)
- (define-key evil-visual-state-map "j" 'evil-goto-mark)
- #+END_SRC
- *** Windows
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key
- "wl" 'evil-window-up
- "wa" 'evil-window-down
- "wi" 'evil-window-left
- "we" 'evil-window-right
- )
- #+END_SRC
- ** Appearance
- *** wrap lines
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (global-visual-line-mode t)
- #+END_SRC
- *** supress saving promt whent compiling
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (setq compilation-ask-about-save nil)
- #+END_SRC
- ** Scrolling
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (global-set-key (kbd "C-S-u") 'scroll-up)
- (global-set-key (kbd "C-S-d") 'scroll-down)
- #+END_SRC
- ** dired hide details
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (add-hook 'dired-mode-hook
- (lambda ()
- (dired-hide-details-mode)))
- #+END_SRC
- * Bindings
- ** save with escape
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (defun froleyks-save-if-bufferfilename (&rest args)
- (when (buffer-file-name)
- (save-buffer)))
- (defadvice evil-force-normal-state
- (after evil-force-normal-state-after activate)
- (froleyks-save-if-bufferfilename))
- #+END_SRC
- ** open new frames
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key "bo" 'display-buffer-other-frame)
- #+END_SRC
- ** Redo
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (define-key evil-normal-state-map (kbd "U")'undo-tree-redo)
- #+END_SRC
- ** helm completion
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (global-set-key (kbd "C-<SPC>") 'helm-company)
- #+END_SRC
- ** quick undo
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (require 'general)
- (general-define-key
- :states '(normal insert)
- "\C-n" 'undo
- )
- #+END_SRC
- ** quick last macro
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (define-key evil-normal-state-map (kbd "Q")(kbd"@@"))
- #+END_SRC
- ** insert lines
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (define-key evil-normal-state-map (kbd "C-a") 'spacemacs/insert-line-above-no-indent)
- (define-key evil-normal-state-map (kbd "C-j") 'spacemacs/insert-line-below-no-indent)
- #+END_SRC
- ** jump history
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (require 'general)
- (general-define-key
- :states 'normal
- "\C-s" 'evil-jump-forward
- )
- #+END_SRC
- ** complex comamnds
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key "Ch" 'helm-complex-command-history)
- #+END_SRC
- ** diff current buffer
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key
- "gd" 'magit-diff-buffer-file
- )
- #+END_SRC
- * Utility
- ** Snippets
- *** Save them under VC
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (setq-default yas-snippet-dirs '("~/.config/spacemacs/snippets"))
- #+END_SRC
- *** create snippet quickly
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key
- "Sr" 'helm-yas-create-snippet-on-region
- "Se" 'helm-yas-visit-snippet-file
- )
- #+END_SRC
- *** Tab does not expand
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (with-eval-after-load 'yasnippet
- (define-key yas-keymap (kbd "TAB") 'yas-next-field)
- (define-key yas-keymap (kbd "<tab>") 'yas-next-field)
- )
- #+END_SRC
- *** quick snippets
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key
- "Sq" 'aya-create
- "SQ" 'aya-persist-snippet
- "Si" 'spacemacs/auto-yasnippet-expand
- )
- #+END_SRC
- ** Abbrev
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (setq-default abbrev-mode t)
- (setq-default abbrev-file-name "~/.config/spacemacs/abbrev_defs")
- (read-abbrev-file "~/.config/spacemacs/abbrev_defs")
- (evil-leader/set-key
- "Sl" 'inverse-add-mode-abbrev
- "Sa" 'edit-abbrevs
- )
- #+END_SRC
- ** Bookmark
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (setq bookmark-default-file "~/.config/spacemacs/bookmarks")
- #+END_SRC
- ** Line manipulation
- *** flush empty lines
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (defun flush-empty-lines ()
- "removes empty lines from files"
- (interactive)
- (flush-lines "^$")
- )
- #+END_SRC
- *** remove duplicate lines
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (defun remove-dubplicate-lines ()
- "removes duplicate lines form file"
- (interactive)
- (replace-regexp "\\([^\n]+\n\\)\\1+" "\\1")
- )
- #+END_SRC
- *** keybindings
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key
- "Le" 'flush-empty-lines
- "Lf" 'flush-lines
- "Lk" 'keep-lines
- "Ld" 'remove-dubplicate-lines
- )
- #+END_SRC
- ** evil snipe
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (use-package evil-snipe
- :defer t
- :bind (:map evil-normal-state-map
- ("f" . evil-snipe-f)
- ("F" . evil-snipe-F)
- ("t" . evil-snipe-t)
- ("T" . evil-snipe-T)
- :map evil-snipe-mode-map ("," . nil)
- :map evil-snipe-local-mode-map ("," . nil)
- :map evil-snipe-override-mode-map ("," . nil)
- :map evil-snipe-override-local-mode-map ("," . nil)
- :map evil-snipe-parent-transient-map ("," . nil))
- :config
- (custom-set-faces
- '(evil-snipe-first-match-face ((t nil))))
- (setq evil-snipe-scope 'buffer)
- (setq evil-snipe-enable-highlight nil)
- (setq evil-snipe-enable-incremental-highlight nil)
- )
- ;; (define-key evil-normal-state-map (kbd "s") 'evil-substitute)
- ;; (evil-define-key* '(motion normal) evil-snipe-local-mode-map
- ;; "s" nil
- ;; "S" nil)
- #+END_SRC
- ** undo register
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key
- "ru" 'undo-tree-save-state-to-register
- "rU" 'undo-tree-restore-state-from-register
- )
- #+END_SRC
- ** pastebin
- #+BEGIN_SRC emacs-lisp :tangle user-config.el
- (evil-leader/set-key
- "BB" 'pastebin-new
- "BL" 'pastebin-list-buffer-refresh
- )
- (use-package neopastebin
- :defer t
- :commands (pastebin-new pastebin-list-buffer-refresh)
- :init
- (add-to-list 'load-path "~/.config/spacemacs/local/emacs-pastebin-master")
- :config
- (pastebin-create-login :dev-key "b05fe24db6a4bca168b463b3fa777bfa"
- :username "froleyks")
- )
- #+END_SRC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement