X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/d306222c5786e8cd5e1b6f77a5c12741820fb7a9..4e171a5b7e29031a2d40db14f05e7a945d8b08a5:/packages/easy-kill/README.rst diff --git a/packages/easy-kill/README.rst b/packages/easy-kill/README.rst index 427a251dc..02ad57b5c 100644 --- a/packages/easy-kill/README.rst +++ b/packages/easy-kill/README.rst @@ -1,10 +1,17 @@ -============================= - Kill Things Easily in Emacs -============================= +==================================== + Kill & Mark Things Easily in Emacs +==================================== +.. image:: https://travis-ci.org/leoliu/easy-kill.svg?branch=master + :target: https://travis-ci.org/leoliu/easy-kill + :align: right + :alt: Travis CI build status + Provide commands ``easy-kill`` and ``easy-mark`` to let users kill or mark things easily. +Comments, bug reports and patches are highly appreciated. + easy-kill ~~~~~~~~~ @@ -15,25 +22,46 @@ easy-kill After this configuration, ``M-w`` serves as both a command and a prefix key for other commands. ``M-w`` alone saves in the order of -active region, url, email and finally current line. As a prefix key: +active region, url, email and finally current line (See +``easy-kill-try-things``). As a prefix key: #. ``M-w w``: save word at point #. ``M-w s``: save sexp at point -#. ``M-w f``: save file at point -#. ``M-w l``: save list at point +#. ``M-w l``: save list at point (enclosing sexp) #. ``M-w d``: save defun at point -#. ``M-w D``: save defun-name; works even when in a diff hunk -#. ``M-w b``: save ``buffer-file-name`` or ``default-directory`` +#. ``M-w f``: save file at point +#. ``M-w b``: save ``buffer-file-name`` or ``default-directory``. + ``-`` changes the kill to the directory name, ``+`` to full name + and ``0`` to basename. The following keys modify the selection: -#. ``@``: append selection to previous kill and exit +#. ``@``: append selection to previous kill and exit. For example, + ``M-w d @`` will append current function to last kill. #. ``C-w``: kill selection and exit -#. ``+``, ``-`` and ``0..9``: expand/shrink selection +#. ``+``, ``-`` and ``1..9``: expand/shrink selection +#. ``0`` shrink the selection to the intitial size i.e. before any + expansion #. ``C-SPC``: turn selection into an active region #. ``C-g``: abort +#. ``?``: help + +For example, ``M-w w`` saves current word, repeat ``w`` to expand the +kill to include the next word. ``5`` to include the next 5 words etc. +The other commands also follow this pattern. + +``+``/``-`` does expanding/shrinking according to the thing selected. +So for ``word`` the expansion is word-wise, for ``line`` line-wise, +for ``list`` or ``sexp``, list-wise. -See ``M-w l`` (save list at point) in action in `screenshot +``list-wise`` expanding/shrinking work well in lispy modes (elisp, +Common Lisp, Scheme, Clojure etc.), smie-based modes (Prolog, SML, +Modula2, Shell, Ruby, Octave, CSS, SQL etc.), Org mode, Nxml mode and +Js2 mode. + +To copy the enclosing list in lispy modes, I used to do a lot of +``C-M-u C-M-SPC M-w``. Now the key sequence is replaced by ``M-w l`` +(save list at point) as shown in `screenshot `_: .. figure:: http://i.imgur.com/8TNgPly.png @@ -53,9 +81,9 @@ sexp even when in the middle of one. :: Install ~~~~~~~ -``easy-kill`` is available on `MELPA +``easy-kill`` is part of GNU ELPA and is also available on `MELPA `_. - + Extensions ~~~~~~~~~~ @@ -64,6 +92,31 @@ convention, or by defining new functions named like ``easy-kill-on-THING-NAME``. See ``easy-kill-on-buffer-file-name`` and ``easy-kill-on-url`` for examples. +NEWS +~~~~ + +0.9.3 ++++++ + +#. Key ``?`` in ``easy-kill`` or ``easy-mark`` prints help info. +#. ``M-w l`` can select the enclosing string. +#. ``easy-mark`` learns exchanging point & mark. +#. Key ``0`` now sets the selection to its initial size before any + expansion. +#. ``M-w l``, ``M-w s`` and list-wise ``+/-`` now work in Org mode. + +0.9.2 ++++++ + +#. ``-`` can move pass the first selection. +#. ``+``/``-`` on ``sexp`` no longer change ``thing`` to ``list`` +#. Mouse over the selection now shows description. +#. Echo js2 node name. +#. Append now uses sensible separator (customisable via + ``easy-kill-alist``). +#. The format of easy-kill-alist has changed. The old ``(CHAR . + THING)`` format is still supported but may be removed in future. + Bugs ~~~~