diff options
-rw-r--r-- | Emacs/.config/emacs/config.org | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org index fa419c4..1eed583 100644 --- a/Emacs/.config/emacs/config.org +++ b/Emacs/.config/emacs/config.org @@ -763,6 +763,40 @@ Auto fill mode is nice for most text modes, 80 char limit is great. #+BEGIN_SRC emacs-lisp (add-hook 'text-mode-hook #'auto-fill-mode) #+END_SRC +** Delete a sentence in auto fill +In long lines via truncate lines, deleting till the end of the +sentence was easy via vim motions. However, the same action is +difficult with auto-fill-mode where sentences are separated through +(potentially several) newlines which makes vim motions +difficult. Thus, I propose some form of functionality which allows you +to: + +- Find the next closest period denoting the end of the sentence +- Delete the region between the point of invocation and the found period + +This essentially does the same task as vim motion based deletion, but +can handle the newlines. To not trample on the toes of any package, +I'll set it to "M-d" (kill-word), the most inoffensive binding +possible which is still mnemonic. + +First, the function. I'll use search-forward (from zap* lib) to find +the period. Then auto-fill to make it look nice. +#+BEGIN_SRC emacs-lisp +(defun +text/delete-till-sentence () + "Delete all text from current point to the next closest period." + (interactive) + (set-mark-command nil) + (search-forward ". ") + (kill-region (region-beginning) (region-end)) + (fill-paragraph)) +#+END_SRC + +Now, the binding +#+BEGIN_SRC emacs-lisp +(general-def + :states '(normal insert) + (kbd "M-d") #'+text/delete-till-sentence) +#+END_SRC * Org ** Org default with evil Setup for org mode, currently basically nothing. Has evil-org for |