diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 125c6042b..24b06ad86 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -170,6 +170,8 @@ :textobj "a" #'evil-inner-arg #'evil-outer-arg :textobj "B" #'evil-textobj-anyblock-inner-block #'evil-textobj-anyblock-a-block :textobj "c" #'evilnc-inner-comment #'evilnc-outer-commenter + :textobj "f" #'+evil:defun-txtobj #'+evil:defun-txtobj + :textobj "g" #'+evil:whole-buffer-txtobj #'+evil:whole-buffer-txtobj :textobj "i" #'evil-indent-plus-i-indent #'evil-indent-plus-a-indent :textobj "k" #'evil-indent-plus-i-indent-up #'evil-indent-plus-a-indent-up :textobj "j" #'evil-indent-plus-i-indent-up-down #'evil-indent-plus-a-indent-up-down diff --git a/modules/editor/evil/autoload/textobjects.el b/modules/editor/evil/autoload/textobjects.el new file mode 100644 index 000000000..589038e4c --- /dev/null +++ b/modules/editor/evil/autoload/textobjects.el @@ -0,0 +1,13 @@ +;;; editor/evil/autoload/textobjects.el -*- lexical-binding: t; -*- + +;;;###autoload (autoload '+evil:whole-buffer "editor/evil/autoload/textobjects" nil nil) +(evil-define-text-object +evil:whole-buffer-txtobj (_count &optional _beg _end type) + "Text object to select the whole buffer." + (evil-range (point-min) (point-max) type)) + +;;;###autoload (autoload '+evil:defun-txtobj "editor/evil/autoload/textobjects" nil nil) +(evil-define-text-object +evil:defun-txtobj (_count &optional _beg _end type) + "Text object to select the whole buffer." + (cl-destructuring-bind (beg . end) + (bounds-of-thing-at-point 'defun) + (evil-range beg end type)))