aboutsummaryrefslogtreecommitdiff
path: root/Emacs
diff options
context:
space:
mode:
Diffstat (limited to 'Emacs')
-rw-r--r--Emacs/.config/emacs/config.org34
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