Commit graph

228 commits

Author SHA1 Message Date
Henrik Lissner
9c74d9d669
Add SPC g b and SPC g c b for branching
SPC g b = magit-branch-checkout
SPC g c b = magit-branch-and-checkout
2019-06-18 22:06:29 +02:00
Henrik Lissner
855ff34e2c
Port more next/previous motions from vim
They are:

]m, [m
  Jump to next/previous beginning of method/function.
]M, [M
  Jump to next/previous end of method/function
]#, [#
  Jump to next/previous preprocessor directive (only supports C-style
  directives for now)
]*, [* (or ]\, [\)
  Jump to next/previous comment
2019-06-17 12:37:19 +02:00
Henrik Lissner
0b1ecb8105
editor/evil: port vim-unimpaired keybinds
Adds these keys, inspired by tpope/vim-unimpaired:

[ SPC, ] SPC (or [o, ]o)
  Add COUNT blank lines above/below the cursor
[f, ]f
  Visit previous/next file in current folder, alphabetically
[u, ]u
  Url encode/decode operators
[y, ]y
  C-string-style escaping/unescaping operators (escapes quotes,
  backslashes and control characters)
[x, ]x
  XML entity encoding/decoding operators (only if :lang web is enabled)
[F, ]F
  Focus previous/next frame (decided this is better than ]t/[t which is
  being used by hl-todo-{next,previous})

We already had gp and ]b/[b (buffers).

We're not going to port ]e/[e because it is redundant with ddp/ddP or gx
(evil-exchange). I also think these keybinds are better suited to
{next,previous}-error.
2019-06-16 19:16:22 +02:00
Henrik Lissner
1a589c546a
Replace closures with +workspace/switch-to-N 2019-06-11 17:36:44 +02:00
Henrik Lissner
bc6c4b3e37
Add +workspace/other #1480
- Rename +workspace/switch-to-last to +workspace/switch-to-final, to
  avoid ambiguity.
- Add +workspace/switch-to-N commands
2019-06-11 16:12:06 +02:00
Henrik Lissner
4fec3eb698
Revise term/vterm/eshell commands & keybinds
The semantics of SPC o t and SPC o T (or SPC o e and SPC o E in eshell's
case) have been reversed.

The lowercase keybind toggles the popup (and the prefix arg forciby
recreates the popup), and the uppercase keybind switches to that
terminal in the current buffer (whose prefix arg will open the terminal
in default-directory, rather than the project root).

- +{term,vterm,eshell}/open have been replaced with +X/here commands and
  are bound to SPC o T (and SPC o E in eshell's case).
- +{term,vterm,eshell}/popup* have been replaced with +x/toggle commands
  and are bound to SPC o t (and SPC o e in eshell's case).

The "toggle" behavior will do as the name implies, except will select
the popup if it is visible but unfocused.
2019-06-11 07:53:50 +02:00
Henrik Lissner
5d94f048b6
editor/evil: remove evil-matchit
Its bugginess doesn't justify the "intelligence" it offers for block
keywords.
2019-06-10 09:38:57 +02:00
Siddharth Shekar
aa64cf9426 Replace kill-this-buffer with kill-current-buffer
As per the documentation for kill-this-buffer, it should only be invoked
from the menu and behaves unpredictably when invoked programmatically.
2019-05-30 18:54:58 -07:00
Henrik Lissner
6ea000393f
Use superior evil-numbers fork
And rebind its keys from C-a/C-S-a to g= and g-. This is because the old
narrow/widen commands aren't nearly as useful (and have a number of
alternative keybinds).

As much as I'd like to us C-a/C-x (as it is in Vim), C-x is an essential
keybind for Emacs.

Also, in visual mode, each number will be affected incrementally (ala g
C-a and g C-x in vim).
2019-05-30 13:56:06 -04:00
Henrik Lissner
87144d3c0c
Move scratch buffers off of s keys to x key
For consistency. Also, the SPC p x prefix shouldn't be used (use SPC o t
and SPC o T) instead.
2019-05-22 03:49:39 -04:00
Henrik Lissner
fe36bbca1f
Standardize C-c C-e for ivy wgrep
Removes backtab in favor of standardizing C-c C-e. Already used by helm,
wgrep and dired.
2019-05-21 00:30:42 -04:00
Henrik Lissner
8f9056906d
Rethink scratch buffer keybinds & commands
For non-evil users:

<leader> x    doom/open-scratch-buffer
<leader> X    doom/switch-to-scratch-buffer
<leader> p s  doom/open-project-scratch-buffer
<leader> p S  doom/switch-to-project-scratch-buffer

For evil users:

<leader> x    doom/open-scratch-buffer
<leader> b s  doom/open-scratch-buffer
<leader> b S  doom/switch-to-scratch-buffer
<leader> p s  doom/open-project-scratch-buffer
<leader> p S  doom/switch-to-project-scratch-buffer
2019-05-20 21:09:12 -04:00
Henrik Lissner
482c87308f
config/default: correct project keybinds
- SPC p > and SPC p ? were the wrong way around
- Add SPC p e to edit project .dir-locals.el
2019-05-20 21:09:10 -04:00
Henrik Lissner
41de07177b
Update keybinds for :term modules 2019-05-19 02:30:43 -04:00
Henrik Lissner
0674e4b4b0
Remove :emacs imenu module
Some of it was moved into core as reasonable defaults, but the rest of
it doesn't warrant a whole module dedicated to it.
2019-05-19 02:18:00 -04:00
Henrik Lissner
2e6d8be6fc
Rethink SPC n keybinds and add new ones
Adds the following keybinds:

SPC n .    Browses org-directory
SPC n /    Text search in org-directory
SPC n *    Text search in org-directory with symbol at point
SPC n h    Jump to org headline in org-agenda-files
2019-05-17 23:57:24 -04:00
Henrik Lissner
571e7bd527
Fix +lookup/in-docsets & docsets lookup backend
They were throwing 'cannot find docset' errors.

- Adds new +lookup/in-all-docsets command.
- If a prefix arg is passed to +lookup/in-docsets, it will search all
  docsets in dash-docs-common-docsets.
2019-05-17 21:02:24 -04:00
Henrik Lissner
0ac3044606
Add 'SPC / k' and 'SPC c k' keybinds
For searching docsets and documentation, respectively.
2019-05-16 00:39:09 -04:00
Henrik Lissner
f381701aab
Bind SPC f m -> doom/move-this-file 2019-05-14 20:28:19 -04:00
Henrik Lissner
13a20866aa
Add headers to leader prefixes for easy imenu access
SPC / i to jump between them
2019-05-13 22:34:43 -04:00
Henrik Lissner
b7d1702484
Add :prefix-map to map! macro
Each prefix now defines a doom-leader-DESC-map keymap, where DESC is the
which-key description for that prefix key. This should make it easier
for users to move leader prefixes. e.g.

To move SPC TAB (workspaces) to SPC l:

  (map! :leader
        "TAB" nil
        "l" doom-leader-workspaces-map)
2019-05-13 22:30:21 -04:00
Henrik Lissner
6b69eaa397
Minor refactors across the board 2019-04-26 17:42:44 -04:00
Henrik Lissner
5df4a2f18e
do-repeat! -> set-repeater!
Macro was renamed to be consistent with other autodefs

- Make these repeaters buffer-local
- Don't bind repeater if motion failed
- Defer evil-snipe repeaters until evil-snipe is loaded
2019-04-24 18:16:05 -04:00
Henrik Lissner
77e4cc4d58
💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
Henrik Lissner
ee754362a2
Fix SPC f / for non-ivy users
Incorrect function signature for doom-project-find-file
2019-04-20 02:18:48 -04:00
Henrik Lissner
d1ab86c38c
Revise project & general find-file keybinds
Changes
- SPC f . -> Browse files from here
- SPC f / -> Find file from here (recursive)

Moves
- SPC f > -> SPC p > (Find file in another project)
- SPC f ? -> SPC p ? (Browse files in another project w/ find-file)
2019-04-19 20:53:22 -04:00
Henrik Lissner
c849495849
SPC q q = quit normally; SPC q Q = force quit 2019-04-19 20:51:09 -04:00
Henrik Lissner
6cd30c926b
Persist scratch buffer across sessions
- Adds doom/open-project-scratch-buffer (persistent project scratch
  buffers)
- Prefix arg = open scratch buffer in current window, for both
  doom/open-scratch-buffer and doom/open-project-scratch-buffer.
- Rename doom/delete-scratch-files ->
  doom/delete-persistent-scratch-file
- Remove doom-scratch-buffer-display-fn
- Rename doom-scratch-files-dir -> doom-scratch-dir
- Add SPC p s keybind to open project scratch buffer
2019-04-17 11:15:56 -04:00
Henrik Lissner
c1bc899e34
config/default: add & change SPC p keybinds
- Moved SPC p x to SPC p i (invalidate cache)
- Add SPC x prefix for opening terminals/ielm at project root
- Add SPC a and SPC d for adding/removing known projects
- Add SPC f for finding a file in other projects
- Add SPC b for switching project buffer (TODO improve ivy/helm support)
- Add SPC k for killing project buffers
2019-04-11 18:29:26 -04:00
Henrik Lissner
5e8687cd45
Add SPC * for project-searching symbol at point 2019-04-10 18:57:57 -04:00
Henrik Lissner
4aec51525b
config/default: replace SPC c c with #'compile
SPC p c exists for projectile-compile-project
2019-04-10 18:52:34 -04:00
Henrik Lissner
3b2befe161
Move evil helpful keybinds to +evil-bindings 2019-04-07 15:56:30 -04:00
Henrik Lissner
72fb5603e7
Minor, general refactor & reformatting
Also swaps C-o and M-o in ivy

And use new ;;;###package cookie (not used yet)
2019-04-06 01:36:46 -04:00
Henrik Lissner
e83a6cbaa1
Turn comment headings into outline-mode headers
Also reformats a few keybinds with incorrect indentation.
2019-04-05 01:24:55 -04:00
Henrik Lissner
5a50820cd9
Bind z= -> flyspell-correct-word-generic
z= is a vim default. `flyspell-correct-word-generic` is superior to the
original command bound to z= (ispell-word).
2019-04-04 18:53:04 -04:00
Henrik Lissner
bf2aedc510
lang/org: rethink flyspell keybinds
- Remove ]s/[s keybinds in org-mode (rebound to ]c/[c); they overwrote
  next/prev flyspell error commands (which are vim defaults)
- Remove ]S/[S because z= already exists
- Remove redundant ]s/[s global keybinds (already bound by evil)
- Mention missing and evil's flyspell keybinds in a comment
2019-04-04 13:50:44 -04:00
Henrik Lissner
9648af6f30
Fix keybinds to reflex helm-occur changes upstream
See emacs-helm/helm@f0f17413
2019-04-03 01:40:58 -04:00
Henrik Lissner
3310f9dfe2
tools/gist: open gists in non-popups
- Removes +gist/kill-cache (gist-list and gist-list-user with a
  universal argument already does this).
- Removes +gist/open-current. No longer necessary when gists aren't
  opened in popups.
- Makes keybinds more consistent with other "porcelains", like elfeed's
  or magit.
2019-04-02 15:47:09 -04:00
Henrik Lissner
445673b0be
Remove reference to old variable in do-repeat! 2019-03-30 13:57:23 -04:00
Henrik Lissner
848399fec1
Add C-c C-e to invoke wgrep from project search
To be consistent with helm-ag-edit
2019-03-30 13:27:09 -04:00
Danny Navarro
d589f87253 Add maximize window key bindings
This includes maximization for entire buffer, vertically and
horizontally.
2019-03-24 14:47:55 +00:00
yuhan0
d44c80c565 Update evil-mc "gzu" and "gzq" bindings 2019-03-16 14:15:19 +08:00
Henrik Lissner
3e2779da39
Refactor leader/localleader keybinds
- Some buffer-local commands were removed from leader binds
- Some more commands were added to org's localleader
- Reformatted some leader keys so that lower/upper case keys are grouped
  together, rather than apart.
- Add SPC-s-c and SPC-s-e for creating/using temporary snippets (with
  auto-yasnippet).
2019-03-14 18:38:51 -04:00
Henrik Lissner
90f36bceff
Undo 1f23eecd: un-homogenize TAB/RET/ESC
This is more trouble than its worth. Better to deal with the old edge
cases than the new ones this causes.

Addresses #1218
2019-03-14 17:59:24 -04:00
Henrik Lissner
8392c9dcf6
Add new :ui indent-guides module
Replaces old highlight-indentation-mode with new highlight-indent-guides
plugin.
2019-03-11 12:39:38 -04:00
Henrik Lissner
b0bc1d925f
Minor refactors; revise docstrings+comments 2019-03-09 19:56:47 -05:00
Henrik Lissner
54d1c0dd56
Minor, general refactors 2019-03-09 03:42:55 -05:00
Henrik Lissner
d5ba685817
Don't overwrite C-i in GUI Emacs 2019-03-09 02:42:31 -05:00
Henrik Lissner
9758aae389
config/default: move help keybinds out of +bindings
These ought to be available to all users, whether or not they want the
rest of Doom's keybinds.
2019-03-09 02:42:31 -05:00
Henrik Lissner
f2b8280b2a
Add +default/search-from-cwd & +default/search-project 2019-03-08 04:25:45 -05:00