-- Leo's gemini proxy

-- Connecting to g.codelearn.me:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Emacs. Change inner/outer like in Vim


If you're a former Vim user there is one feature I couldn't find in any other editors.


Not sure what is the proper name of it but let's call it **change inside something**.


Example (`|` - is a cursor):


function() {
  return 'hello |world'
}

If I press `ci'` the result is going to be:


function() {
  return '|'
}

or `ci{`:


function() {|}

That's incredibly useful feature because I don't really need to think where my cursor is. I just place it somewhere around the place I need to remove and press that magical keybinding.


There is no such built-in function in Emacs. And this one is probably the only feature I miss the most.


For some time I've been using

expand-region

by **Magnar Sveen** which is a different thing really. It just expands a selection by some logical semantic blocks and can be used as a replacement to that `ci'`. But still I need to think how many times I should call that `expand-region` function before the thing I need is selected.


So today I discovered

change-inner.el

by already mentioned **Magnar Sveen**. It uses **expand-region** internally and does exactly what `ci<symbol>` does.


Bindings suggested in the package readme, `M-i` / `M-o`, are pretty easy to used to.


So if you ever missed that **change inner/outer** Vim feature give this lib a shot.

-- Response ended

-- Page fetched on Sat May 11 10:41:58 2024