Commit graph

123 commits

Author SHA1 Message Date
syl20bnr
978be09f6b [base] Refactor keyboard macro key bindings 2020-02-23 09:42:20 -05:00
syl20bnr
51c7fb961b [default] Move ediff key bindings from SPC E to SPC D prefix
And add documentation
2020-02-01 16:27:44 -05:00
duianto
f467e5c6d0
Add SPC x d l delete-blank-lines
Bind `SPC x d l` to `delete-blank-lines` (default: `C-x C-o`)

If the cursor is on a blank line:
- with blank lines above or below, then they are reduced to only one.
- without blank lines above or below, then the blank line is removed.
2020-02-01 08:59:55 +00:00
syl20bnr
101c920dbc
Add key bindings to randomize word and lines in region 2020-01-20 11:26:14 -05:00
Ilia Kurenkov
629d8bd126 Fix docstring typo 2019-12-24 10:36:24 +01:00
Nikita Leshenko
aaa11a6823 Convert case' to cl-case' to fix cl-lib related errors
Broken since PR #13059
2019-12-18 12:08:05 +01:00
kimr
da80634370
converted cl to cl-lib 2019-12-14 20:20:51 +00:00
Brian Wignall
4df6c9035f
Fix typos 2019-12-05 22:23:04 +01:00
duianto
dd070e3b75
[semantic] Moved toggle keys to the layer
SPC T S and SPC T C-S showed void variable
semantic-stickyfunc messages when the semantic
layer wasn't installed.
2019-12-03 20:24:58 +00:00
Ivan Yonchovski
bc55d9b6fd Make sure eldoc info is not removed when you switch to insert mode
- This will prevent jumping of eldoc box when you switch to insert mode.
2019-11-27 21:30:29 +01:00
Spenser Truex
cab1e69585 rectangles: R; kmacros: km; timeclock: tt; ediff: E; insert-buf: ib 2019-11-26 13:56:44 +01:00
duianto
b59f8a3117 Update spacemacs/new-empty-buffer docstring
Removed the parentheses around the buffer name number,
because the angle brackets are enough.

Added the frame argument.

Rewrote the accepted SPLIT arguments as a table.
2019-11-25 10:24:01 +01:00
Maximilian Wolff
f6fd88f40b
Change recompile-elpa to a more emacs file specific keybinding 2019-11-24 20:56:52 +00:00
Maximilian Wolff
dd7a5d98be
Revise helm recompile package action and bind recompile-elpa
The newly introduced function to compile an elpa package
was very much redundant with the existing recompile-elpa function.

I have adapted recompile-elpa so that it can be used for the helm action too.

In addition I have bound recompile-elpa to `SPC c C-c` to allow users to
easily recompile their entire elpa directory if the need arises.

I have also removed the error handling in the helm action in favor of
standard error reporting via the *Compile-Log* buffer.
2019-11-24 02:07:15 +01:00
duianto
eced685481
Rename window-manipulation transient state var/funcs
Renamed window transient state related variables and functions,
from: `*window-manipulation*`
to:   `*window*`.
2019-11-23 23:12:37 +01:00
duianto
9f16032f69
Update transient state wording, etc.
- Removed the word `Manipulation` from the transient state titles:
  - Buffer Manipulation Transient State and Window Manipulation TS
  - Expanded the TS abbreviation to Transient State
- Documented the Buffer Transient State key binding:
  `q` to quit the transient state
- Capitalized `Transient State` in the titles
- Window Transient State:
  - Added a line break after the title in the folded hint.
    This allows for more keys to be visible horizontally.
  - Moved up the [?] help key after the title, so that
    it's in the same place in both the folded and full
    transient state.
2019-11-23 23:12:37 +01:00
duianto
3a51e00a40
Add dired evil search next/previous key bindings
The search next/previous commands are different
because of the `evil-search-module' values:
vim    = evil-search
hybrid = isearch

- With the =vim= editing style in =normal= state:
  - ~n~ =evil-ex-search-next=
  - ~N~ =evil-ex-search-previous=
- With the =hybrid= editing style in =normal= state:
  - ~n~ =evil-search-next=
  - ~N~ =evil-search-previous=
2019-11-23 22:37:41 +01:00
duianto
b653de015d Update window manipulation transient state
Front end:
minified hint:
- Added `a`
- Sorted `w` alphabetically

full hint:
Sorted keys alphabetically:
- Select: a, o, w
- Other:  d, D, u, U

Back end:
Grouped the keys by the transient state columns
2019-11-22 06:46:59 +01:00
fleimgruber
73a4a5c9db Window manipulation: Transient state includes ace-window movement 2019-11-21 21:46:11 +00:00
Carlos Ibáñez
b5727f7799 Fix sudo-edit on TRAMP
The indentation was changed in the second tramp-make-tramp-file-name for
consistency with the first tramp-make-tramp-file-name.
2019-11-18 15:32:25 +01:00
Seong Yong-ju
777d685c46 Fix spacemacs/kill-other-buffers to kill only buffers in the persp 2019-11-17 18:20:12 +01:00
duianto
7af300a225 Add visual line navigation keys, up and down
up   evil-previous-visual-line
down evil-next-visual-line
2019-11-03 22:44:27 +01:00
duianto
38752beffa Descriptive rename function file variables
problem:
the variable names: `dir`, `name`, and `filename` leads to confusion if they are
the old or new names

solution:
add the prefix `old-` to match `new-`,
use (`old-` `new-`) + `short-name` for just the `file.ext` (the `short-` idea
came from the `spacemacs/rename-file` function that's defined above this one),
and `old-full-path` instead of `old-filename` makes it clear that it's not just
the files name and extension.
2019-11-03 22:05:14 +01:00
duianto
4c728f041a Update file renaming, handle same new and old name
problem:
renaming a file to it's current name, results in the message:
"File 'current-name' successfully renamed to 'current-name'"

solution:
when the new and old names are the same, show a rename failed message, and call
the rename function again
2019-11-03 21:03:10 +01:00
duianto
8fbdd61e1e Update renaming, move and/or rename messages
problem:
the rename command shows the same message:
"File 'old-file-name' successfully renamed to 'new-file-name'"
(without the directory path) for all three file operations:
move, rename and both move & rename

solution:
show messages that fit the rename operation,
and align the from and to path/file names,
to make it easier to see what changed.

And use the same message format when renaming a buffer.
2019-11-03 20:40:56 +01:00
smile13241324
e74fc70de8 Revise spacemacs/last-error function and change key binding 2019-11-03 20:14:10 +01:00
Benoit Coste
93ac5203b4 Add function 'spacemacs/last-error
Sometimes it is useful to go directly to the last error message in the buffer.
This function recursively calls 'spacemacs/next-error until the last error is
reached.
The binding "SPC e l" is associated with it
2019-11-03 20:14:10 +01:00
Matt Kramer
e4c8cef412 Add toggle visual-line-navigation-globally 2019-10-29 18:19:05 +01:00
Hong Xu
301d867aff tags-table-mode should be in spacemacs-large-file-modes-list
It is light-weight and it is common that tags are large.
2019-10-19 00:20:21 +02:00
Miciah Masters
97ba556142 Various documentation copy-edits
Follow up the changes in the previous commit with some minor improvements
to formatting, grammar, spelling, and wording.

* layers/+distributions/spacemacs-docker/README.org: Replace "+" with
"and".
* layers/+email/mu4e/README.org: Use full sentences in the comments in the
mu4e-alert example.
* layers/+intl/japanese/README.org: Use verbatim markers for names of
files, functions, packages, and variables.  Capitalize "Linux".
* layers/+os/osx/README.org: Capitalize "Emacs", "Vim", and "Evil".
* layers/+os/osx/config.el (osx-command-as, osx-use-dictionary-app):
* layers/+os/osx/keybindings.el (spacemacs/system-is-mac): Improve
docstrings.
* layers/+readers/dash/README.org: Capitalize "API", "Helm", and "Ivy".
* layers/+spacemacs/spacemacs-defaults/config.el
(delete-by-moving-to-trash): Use full sentences in comment.
* layers/+spacemacs/spacemacs-defaults/funcs.el
(spacemacs/toggle-frame-fullscreen-non-native): Improve docstrings.
2019-10-13 12:04:59 +02:00
Miciah Masters
552fd5953c Update references to macOS
Apple renamed "Mac OS X" to "OS X" in 2012 and then to "macOS" in 2016.
Update references to use the current name.
2019-10-13 12:04:40 +02:00
Miciah Masters
e8cdaac8d3 Unique defvar for each ts full-hint toggle
Instead of using a single variable for all transient states' full-hint
toggle functions, define a unique variable for each toggle function so that
toggling the full hint for one transient state does not affect the others.

* CHANGELOG.develop: Add an entry for this change.
* layers/+spacemacs/spacemacs-defaults/keybindings.el
(spacemacs--window-manipulation-ts-full-hint-toggle): New variable.
(spacemacs//window-manipulation-ts-toggle-hint)
(spacemacs//window-manipulation-ts-hint): Replace
spacemacs--ts-full-hint-toggle with
spacemacs--window-manipulation-ts-full-hint-toggle.
* layers/+spacemacs/spacemacs-layouts/config.el
(spacemacs--ts-full-hint-toggle): Delete variable.
(spacemacs--layouts-ts-full-hint-toggle)
(spacemacs--workspaces-ts-full-hint-toggle): New variables.
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//layouts-ts-toggle-hint, spacemacs//layouts-ts-hint): Replace
spacemacs--ts-full-hint-toggle with spacemacs--layouts-ts-full-hint-toggle.
(spacemacs//workspaces-ts-toggle-hint, spacemacs//workspaces-ts-hint):
Replace spacemacs--ts-full-hint-toggle with
spacemacs--workspaces-ts-full-hint-toggle.
2019-10-13 10:09:42 +02:00
Miciah Masters
7be37a2aed Use truth values for spacemacs--ts-full-hint
Use nil and t instead of 0 and 1 for spacemacs--ts-full-hint values.

* layers/+spacemacs/spacemacs-layouts/config.el
(spacemacs--ts-full-hint-toggle): Define with an initial value of nil.
* layers/+spacemacs/spacemacs-defaults/keybindings.el
(spacemacs//window-manipulation-ts-toggle-hint)
(spacemacs//window-manipulation-ts-hint):
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//layouts-ts-toggle-hint, spacemacs//layouts-ts-hint)
(spacemacs//workspaces-ts-toggle-hint, spacemacs//workspaces-ts-hint):
Replace (logxor ... 1) and (equal 1 ...) with (not ...) and a simple truth
check.
2019-10-13 10:09:42 +02:00
duianto
556433f95c Limit lines to 80 chars
And fix comment indentation. Vertically aligned comments in function
definitions, indents them in the help buffer.
2019-09-17 20:36:30 +02:00
duianto
3521d7a11e Switch recreated messages buffer to evil-normal-state
If the messages buffer is deleted.
When it's recreated, then it opens in evil-evilified-state
where the evil keys `w` and `b` are undefined.
2019-08-19 20:48:41 +02:00
Troy Pracy
3c67ba94f3 Add docstring to align-repeat-x commands
Update 'spacemacs|create-align-repeat-x macro to add a docstring to created
functions. The docstring refers the user to the macro, providing a link to
the source code.
2019-08-19 18:11:29 +02:00
bb2020
8ed7e5e7a1 Add `spacemacs/iwb-region-or-buffer'. 2019-08-11 20:15:40 +02:00
smile13241324
85fca8f323 Restore winner-mode auto start without breaking dumping
As winner-mode was moved from init.el to dump-init.el winner-mode
was not longer properly started for non-dumped emacs sessions.
Having winner-mode auto activate at startup did fix the issue
for non-dumping users but in turn broke the dumping process.

I have now moved the necessary winner-mode init to
spacemacs/setup-startup-hook which is only called
in the non-dumping case. To allow customizations I activate
winner-mode prior to loading user-init this will allow users
to deactivate winner-mode in the dotfile and fix ediff themselves
if this is wished for.
2019-08-04 14:49:10 +02:00
duianto
4bcd3402fe [doc] Clarify line wrapping vs truncation 2019-08-04 00:13:18 +02:00
smile13241324
d5d26af533 Disable lazy loading for winner-mode
Lazy loading of `winner-mode` breaks `ediff` and
`winner-undo`. As a hotfix I have deactivated
lazy loading for that package for now.

Just activating `winner-mode` after `winner-undo`
or `winner-redo` has been called does not solve
the issues described in #12582.
2019-08-02 22:48:08 +02:00
smile13241324
175ed2bcc2 Fix winner lazy loading issues 2019-08-02 22:06:47 +02:00
syl20bnr
0e2935b8d6 Add autoloads for winner-mode 2019-07-26 22:44:35 -04:00
duianto
b9e61e6437 Add transient state keys _, j, k
Thanks sdwolfz for the suggestion to add underscore to the transient states,
then the shift key doesn't have to be released if it was held down to press `+`.

Added key bindings:
Evil numbers:
`SPC n _` decrease number under point
in the transient state:
`j` decrease number under point
`k` increase number under point

`SPC T T _` decrease transparency
`SPC z x _` scale down font
`SPC z f _` zoom out frame

Update documentation:
Zoom frame:
`q` quit transient state

Evil numbers:
`SPC n =` increase number under point
`SPC n _` decrease number under point
`0..9` add a number prefix argument
`q` quit transient state

Fixed a typo and made a small rewrite of the tip about using a prefix argument.

Added keys to transient states:
Font scaling:
Added `_` scale down
Reordered `k` assignment to match the order in the transient state

Frame transparency:
Added `_` decrease
Reordered `k` assignment to match the order in the transient state

Evil numbers:
Added `k` increase
Added `_` and `j` decrease

Zoom frame:
Added `_` zoom frame out
Reordered `k` assignment to match the order in the transient state

Which-key entries for Evil numbers `SPC n`:
Group together keys that call the same command:
From: + and =
To:   +,=

From: - and _
To:   -,_
2019-07-14 22:56:57 +02:00
duianto
d6cdd6aa88 Add a tutorials section to SPC h T
`SPC h T e` for `emacs-tutorial` (aliased from `help-with-tutorial` for a more
descriptive name)
`SPC h T v` for `evil-tutor-start`

Added a wikipedia link to the `vi` article, where the origins of modal editing
is discussed.
2019-07-07 11:34:16 +02:00
Brandon T. Willard
2cfcf54458 Use return value from advised function in yank-indent-region
Closes #12479.
2019-06-28 12:08:49 +02:00
syl20bnr
1aa0af260e Move indirect buffer key bindings to SPC b N prefix 2019-06-26 00:10:01 -04:00
syl20bnr
f04ff9e837 Change SPC , to SPC j c to go to last change 2019-06-25 23:52:21 -04:00
syl20bnr
6ce974795e Change SPC j C to SPC j ( to jump to fist unbalanced parens 2019-06-25 23:49:21 -04:00
jcaw
d4cca74854 Add support for visual line numbers
Emacs 26 added built-in support for line numbers, relative line numbers, and
visual line numbers. Spacemacs supports only absolute and relative, but there is
no way to access the visual mode. It's hard to get around this, since Spacemacs
abstracts line numbers to a reasonably high degree.

Arguably, `visual` is much more useful than `relative` as a display type. Visual
line numbers are like relative line numbers, but only lines that are actually
showing are counted. This means:

  1. Hidden lines are not counted. If a large amount of text is folded, the line
     numbers won't jump from "10" to "546". This is particularly useful in
     buffers like `magit-status`, where a large amount of information is folded
     by default.

  2. Lines that are wrapped are counted as multiple lines, since they're being
     displayed as multiple lines in the editor. Each visual line will be
     numbered - unlike `relative`, where the entire thing is numbered... Once.

With standard relative line numbers, you can't actually navigate using the line
numbers in the sidebar as soon as folded or wrapped lines are introduced. Since
this is one of the main use cases for relative line numbers, this is a big
problem.

Visual mode fixes that problem. Every line that's being displayed is labelled.
Numbers always correspond to the actual number of lines you'd need to navigate
to reach that line.

This commit extends Spacemacs' line number interface to provide visual line
number support.
2019-06-23 19:16:44 +02:00
duianto
de2297b2e1 Fix copied dir not in minibuffer, clipboard disabled
Fixed the minibuffer showing: `nil`
when `select-enable-clipboard` is `nil` and the current files
path/dir/file/line/column/etc. is copied with the keys under
the prefix: `SPC f y`
2019-06-17 09:20:01 +02:00