with evil we have the inner or outer object for selecting inside or outside quote with ", `, ’

but I rather have everything hapenning in one go, using the q letter for this. (lazyvim sems to have that setup by default which i seems to have got used to it)

It’s easy enough to redefine an object like this:

(define-key evil-outer-text-objects-map "q" 'evil-a-double-quote)
(define-key evil-inner-text-objects-map "q" 'evil-inner-double-quote)

which obviously only select the double quotes, anyone would know how to extend this to backquote ` or single quote ’

  • AkiNoHotoke@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    How does this work? Does the q become a new text object meaning “quoted” in normal mode?

    So, can I do cq in normal mode and then “text” becomes “” with the cursor in the middle of the quotes with the mode being changed to insert?

  • geza42@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    There is evil-textobj-anyblock which does a similar thing (you can configure evil-textobj-anyblock-blocks to only use quotes, if you don’t like that by default it uses all kinds of blocks)