<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vim on Gryt</title><link>https://gryt.io/tags/vim/</link><description>Recent content in Vim on Gryt</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>robin@gryt.io (Robin Penea)</managingEditor><webMaster>robin@gryt.io (Robin Penea)</webMaster><lastBuildDate>Fri, 03 Oct 2025 15:58:50 +0200</lastBuildDate><atom:link href="https://gryt.io/tags/vim/index.xml" rel="self" type="application/rss+xml"/><item><title>Enhanced vim motions in IntelliJ</title><link>https://gryt.io/til/2025-10-03-ideavim-anyobject-plugin/</link><pubDate>Fri, 03 Oct 2025 15:58:50 +0200</pubDate><author>robin@gryt.io (Robin Penea)</author><guid>https://gryt.io/til/2025-10-03-ideavim-anyobject-plugin/</guid><description>&lt;p>vim allows powerful text manipulation: &lt;code>di&amp;quot;&lt;/code> to delete inside double quotes, &lt;code>ci(&lt;/code> to change inside brackets, etc. If you use &lt;a href="https://github.com/JetBrains/ideavim">IdeaVim&lt;/a> in JetBrains IDEs, this can be enhanced with the &lt;a href="https://plugins.jetbrains.com/plugin/28333-vim-anyobject">AnyObject Plugin&lt;/a>.&lt;/p></description><content>&lt;p>vim allows powerful text manipulation: &lt;code>di&amp;quot;&lt;/code> to delete inside double quotes, &lt;code>ci(&lt;/code> to change inside brackets, etc. If you use &lt;a href="https://github.com/JetBrains/ideavim">IdeaVim&lt;/a> in JetBrains IDEs, this can be enhanced with the &lt;a href="https://plugins.jetbrains.com/plugin/28333-vim-anyobject">AnyObject Plugin&lt;/a>.&lt;/p>
&lt;p>To enable it, just add this to your &lt;code>.ideavimrc&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">set anyobject
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>After that, you can do:&lt;/p>
&lt;ul>
&lt;li>&lt;code>daa&lt;/code> - Delete argument and its separator. For example, you want to delete &lt;code>name&lt;/code> parameter in one stroke in &lt;code>def say_hi(name, email)&lt;/code>&lt;/li>
&lt;li>&lt;code>ciq&lt;/code> - Change inside &lt;em>any&lt;/em> quote. &lt;code>&amp;quot;hello&amp;quot;&lt;/code>, &lt;code>'good bye'&lt;/code>, &lt;code>`again`&lt;/code>&lt;/li>
&lt;li>&lt;code>yif&lt;/code> - Yank inner function. Copy all the function body ♥️&lt;/li>
&lt;li>&lt;code>din&lt;/code> - Delete inner block level. Especially useful for indentation based languages (Python, YAML)&lt;/li>
&lt;/ul></content></item></channel></rss>