Live data from Hacker News

Code Substitution Done Right - Switch.vim

vimninjas.com

1–10 of 14 posts

Re: Code Substitution Done Right - Switch.vim

#2
I'm a couple years into full time MacVim use. At this stage I'm simplifying and dropping plugins in favor of mastering builtins. I'm also separating graphical config from standard and working on a repeatable system to push a barebones config up to new servers as I access them.

So I'll pass on this plugin for the time being. That said, this new blog is fantastic and I'm bookmarking all the articles for later.

Re: Code Substitution Done Right - Switch.vim

#4
post #3

Annnnnd another tutorial that shows me how vastly underwhelming my vim skills are. Though looking back a year ago, I struggled to navigate, let alone copy and paste. Step at a time, right? RIGHT?!

I recently moved to vim as well. Everything I'm doing I'm pretty much aware that I could probably be doing it in some superdooper quick way...

I'll get there though. Eventually.

Re: Code Substitution Done Right - Switch.vim

#7
post #5

I don't get it. How often do you need to change between complete opposites? (should/should_not, true/false, &&/||) And what's the point of changing "predicate?" to "true and (predicate?)" or "false or (predicate?)"

I wrote a similar plugin called vim-cycle, it's a bit different but basically the same concept.

https://github.com/zef/vim-cycle

I really use it all the time and find it extremely useful, but not exactly in the way he seems to in the video. One of the ways I frequently use it is for CSS, where there are related words that can frequently change, like margin/padding, top/bottom, class/id, png/gif/jpg, absolute/relative, or in Ruby if/unless, present/blank, else/else if. Things like that...

The mapping I use is the same as is used to increment and decrement numbers in Vim, which is very natural to me so it's a really easy way to switch things much more quickly than typing them.

You can see the pairs I define by default in my plugin here:

https://github.com/zef/vim-cycle/blob/master/plugin/cycle.vi...

Re: Code Substitution Done Right - Switch.vim

#8
post #3

Annnnnd another tutorial that shows me how vastly underwhelming my vim skills are. Though looking back a year ago, I struggled to navigate, let alone copy and paste. Step at a time, right? RIGHT?!

I recently moved to vim as well. Everything I'm doing I'm pretty much aware that I could probably be doing it in some superdooper quick way... I'll get there though. Eventually.

Just keep going and refrain from copying verbatim other people's config and using too many plugins.

Re: Code Substitution Done Right - Switch.vim

#9
post #5

I don't get it. How often do you need to change between complete opposites? (should/should_not, true/false, &&/||) And what's the point of changing "predicate?" to "true and (predicate?)" or "false or (predicate?)"

I'm guessing the latter is intended to help you add more conditions. Switch "if foo?" to "if true and (foo?)", which has the same meaning, then replace the "true" to get "if bar? and (foo?)". Seems unlikely to save much time in the long run, but there you have it.

Re: Code Substitution Done Right - Switch.vim

#10
post #5

I don't get it. How often do you need to change between complete opposites? (should/should_not, true/false, &&/||) And what's the point of changing "predicate?" to "true and (predicate?)" or "false or (predicate?)"

I'm seeing a few places this will come in handy:

* toggling booleans in a config file.

* switching a string literal between 'single quotes', "double quotes #{so I can add interpolation}", and :symbols. I do this pretty often. The former is easy enough with surround.vim (cs'"), but the latter is a pain (ds'bi:)

* the ability to add a "tap" and remove it with a single key combo is interesting for debugging.

Post reply on HN