87 lines
3.1 KiB
EmacsLisp
87 lines
3.1 KiB
EmacsLisp
(defalias 'ex! 'evil-ex-define-cmd)
|
|
|
|
;;; Custom commands
|
|
;; Emacs utilities
|
|
(ex! "bc[omp]" '+hlissner:byte-compile)
|
|
(ex! "clog" 'global-command-log-mode)
|
|
(ex! "minor" 'describe-minor-mode) ; list minor modes
|
|
(ex! "re[load]" 'doom/reload)
|
|
(ex! "re[load]au" 'doom/reload-autoloads)
|
|
|
|
;; Editing
|
|
(ex! "@" '+evil:macro-on-all-lines) ; TODO Test me
|
|
(ex! "enhtml" '+web:encode-html-entities)
|
|
(ex! "dehtml" '+web:decode-html-entities)
|
|
(ex! "ie[dit]" 'evil-multiedit-ex-match)
|
|
(ex! "na[rrow]" '+evil:narrow-buffer)
|
|
(ex! "ref[actor]" 'emr-show-refactor-menu)
|
|
(ex! "retab" '+evil:retab)
|
|
|
|
;; External resources
|
|
;; TODO (ex! "db" 'doom:db)
|
|
;; TODO (ex! "dbu[se]" 'doom:db-select)
|
|
;; TODO (ex! "go[ogle]" 'doom:google-search)
|
|
(ex! "http" 'httpd-start) ; start http server
|
|
(ex! "repl" '+eval/repl) ; invoke or send to repl
|
|
;; TODO (ex! "rx" 'doom:regex) ; open re-builder
|
|
(ex! "sh[ell]" '+eshell:run)
|
|
(ex! "t[mux]" '+tmux:run) ; send to tmux
|
|
(ex! "tcd" '+tmux:cd-here) ; cd to default-directory in tmux
|
|
(ex! "x" '+doom:scratch-buffer)
|
|
|
|
;; GIT
|
|
(ex! "gbrowse" '+vcs/git-browse) ; show file in github/gitlab
|
|
(ex! "gissues" '+vcs/git-browse-issues) ; show github issues
|
|
(ex! "git" 'magit-status) ; open magit status window
|
|
(ex! "gstage" 'magit-stage)
|
|
(ex! "gunstage" 'magit-unstage)
|
|
;; TODO :gblame
|
|
;; TODO :grevert
|
|
;; TODO :gblame
|
|
|
|
;; Dealing with buffers
|
|
(ex! "clean[up]" 'doom/cleanup-buffers)
|
|
(ex! "k[ill]" 'doom/kill-this-buffer)
|
|
(ex! "k[ill]all" '+hlissner:kill-all-buffers)
|
|
(ex! "k[ill]m" '+hlissner:kill-matching-buffers)
|
|
(ex! "k[ill]o" 'doom/kill-other-buffers)
|
|
(ex! "l[ast]" 'doom/popup-restore)
|
|
(ex! "m[sg]" 'view-echo-area-messages)
|
|
(ex! "pop[up]" 'doom/popup) ; open current buffer in popup
|
|
|
|
;; Project navigation
|
|
(ex! "a" 'projectile-find-other-file)
|
|
(ex! "ag" '+ivy:file-search)
|
|
(ex! "ag[cw]d" '+ivy:file-search-cwd)
|
|
(ex! "rg" '+ivy:file-search)
|
|
(ex! "rg[cw]d" '+ivy:file-search-cwd)
|
|
(ex! "cd" '+hlissner:cd)
|
|
(ex! "sw[iper]" '+ivy:swiper) ; in-file search
|
|
|
|
;; Project tools
|
|
(ex! "build" '+eval/build)
|
|
(ex! "debug" '+debug/run)
|
|
(ex! "er[rors]" 'flycheck-list-errors)
|
|
(ex! "todo" '+ivy/tasks)
|
|
|
|
;; File operations
|
|
(ex! "mv" '+evil:file-move)
|
|
(ex! "rm" '+evil:file-delete)
|
|
|
|
;; Sessions/tabs
|
|
(ex! "sclear" '+workspace/kill-session)
|
|
(ex! "sl[oad]" '+workspace:load-session)
|
|
(ex! "ss[ave]" '+workspace:save-session)
|
|
(ex! "tabc[lose]" '+workspace:delete)
|
|
(ex! "tabclear" 'doom/kill-all-buffers)
|
|
(ex! "tabl[ast]" '+workspace/switch-to-last)
|
|
(ex! "tabload" '+workspace:load)
|
|
(ex! "tabn[ew]" '+workspace:new)
|
|
(ex! "tabn[ext]" '+workspace:switch-next)
|
|
(ex! "tabp[rev]" '+workspace:switch-previous)
|
|
(ex! "tabr[ename]" '+workspace:rename)
|
|
(ex! "tabs" '+workspace/display)
|
|
(ex! "tabsave" '+workspace:save)
|
|
|
|
;; Org-mode
|
|
(ex! "org" '+org:capture)
|