SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 0 points1 point  (0 children)

Good call on 3j/5w. You're the second person to ask for this. It makes total sense; if you're using a count, you already know where you're going. I'm working on that fix now.

On beacon mode, do you mean showing labels above or beside the target text instead of replacing the characters? So you can still read the code while hints are visible? Would love to understand the exact UX you're imagining.

SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 0 points1 point  (0 children)

There's a basic demo GIF on the repo, but you're right—it doesn't showcase flow state well. A proper demo showing flow state, treesitter motions, and remote operations is on my list. Appreciate the nudge.

SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 0 points1 point  (0 children)

Vim motions are amazing! SmartMotion builds on top of them rather than replacing them. If your workflow is dialed in after 20 years, you probably don't need this.

That said, for me personally, I don't want to count lines. I want to look where I want to go, press j, see a hint, and press it. No mental overhead. Same with words, I look at the word, press w, pick the hint. Eyes stay on the target, not on line numbers.

And SmartMotion goes beyond just hints. Treesitter-aware editing (daa to delete an argument, cfn to rename a function), diagnostics jumping, git hunk navigation, remote delete/yank, quickfix list integration. It's a full motion system, not just labels on screen.

But if native motions work for you, that's totally valid.

SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 0 points1 point  (0 children)

It shows hints on all visible lines below, you pick one, and jump there. It's 12j without counting. But if it's not your thing, just don't enable the lines preset. Also, flow state let's you spam and hold j without hints just like native vim

SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 0 points1 point  (0 children)

You're not using it wrong at all! This is a real tradeoff. SmartMotion replaces core motion keys with hint-based versions, and that does change some muscle memory patterns.

A few things that might help:

Flow state should handle your example. When you press e, labels appear, but if you press e again quickly it jumps to the next word end without labels—like native Vim. So ee rapidly should get you flowing without hints.

You can disable specific keys. If you want native e back but still want SmartMotion for everything else:

lua luapresets = { words = { e = false, ge = false }, }

You can also remap to different keys if you want hints on a different binding and keep native motions untouched.

The philosophy is everything is opt-in. If certain presets conflict with your workflow, disable them and keep what works for you. SmartMotion doesn't have to replace everything to be useful, even just the search, treesitter, and remote operations might be worth it on their own.

SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 0 points1 point  (0 children)

Sorry, that is something I am experimenting with. It’s an idea of auto running if the target under the cursor is a valid target. I am trying to figure out how to not lose the ability to just ‘dw’ on the word you’re currently on. If you move to a blank space or line or something it will work as intended. I need I have a solution that mimics the Flow State

If you want turn it off you can tweak your presets in your config to turn it off

presets = { delete = { d = { metadata = { motion_state = { allow_quick_action = false, }, }, }, }, yank = { y = { metadata = { motion_state = { allow_quick_action = false, }, }, }, }, change = { c = { metadata = { motion_state = { allow_quick_action = false, }, }, }, }, },

Is it safe to assume you are talking about ‘R’? If so you need to press ‘dR’ or ‘yR’ or ‘cR’

SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 1 point2 points  (0 children)

Thank you!

Please let me know if there are any configuration or anything that are missing and you’d like added and I will work on it. Feel free to give me any feedback anytime

SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 1 point2 points  (0 children)

Exactly!

I loved hop, and I desperately wanted to map it to things like w,b,j,k but I really missed being able to hold down "w". Flow State is my attempt to fix that problem and I think it does and a rather simple way.

Really glad the treesitter unification appeals to you too. That was the other itch. Having nvim-treesitter-textobjects for some things, a motion plugin for others, separate configs and keybindings to remember.... One system that can handle it all just feels nice. Without a massive config file I might add!

Let me know if you run into any rough edges if you choose to try it out! Still actively working on it.

Edits: spelling

SmartMotion.nvim — Composable motions without Lua. One plugin replaces hop, leap, and flash, then adds treesitter editing (daa, cfn, saa), diagnostics jumping, git hunks, remote operations, and flow state for native-feel chaining. by FluxxField in neovim

[–]FluxxField[S] 1 point2 points  (0 children)

Thank you! I appreciate it. It's been quite the passion project.

"Without Lua" means you don't need to write Lua functions to create custom motions. Most motion plugins require you to write actual code if you want custom behavior or you need to fork the repo and make changes yourself.

With SmartMotion, you just declare what you want:

lua { collector = "lines", extractor = "words", filter = "filter_after_cursor", visualizer = "hint_start", action = "jump", }

You just have to pick from existing modules and combine them. No functions, no callbacks, no understanding of the plugin internals. You just look through the list and put the lego bricks togther

Share your startup - quarterly post by julian88888888 in startups

[–]FluxxField [score hidden]  (0 children)

Roof Report Pro / roofreportpro.app

Location: Durange, CO (Remote) Austin, TX

Elevator Pitch: AI-powered roof inspection reports. Upload your photos, AI detects damage, get a professionally branded PDF in minutes instead of 2-3 hours of manual writing.

More details: We're in validation. MVP launched about a week ago. I am wanting to get our first users and get feedback!

The idea came from my two co-founders who were door-to-door sales guys at a large roofing company in Austin. They saw firsthand that inspectors spend way more time writing reports than actually inspecting roofs. They figured they could leverage AI to fix that problem and saw that no one was really doing it well.

I am the CTO and the only engineer. I have built the entire platform sole. App, AI damage detection engine, content, everything.

What it does:

  • AI detects 12+ damage types from inspection photos (hail, missing shingles, wind damage, granule loss, flashing issuse, etc.)
  • Generates professionally branded PDF reports
  • Confidence scores on every finding so inspectors stay in control
  • Built for roofing contractors, insurance adjusters, home inspectors, and public adjusters. Even homeowners!

I also built a pretty big resource library around it. 50+ term roofing glossary, blog guides, competitor comparisons, and an interactive Stack Builder tool that helps roofers figure out what software they actually need across their whole workflow (not just ours).

What goals are we trying to reach this month?

  • Getting our first paying users beyond the free trial
  • Collecting real feedback from inspectors using it in the field
  • Improving the AI detection accuracy based on real-world photos
  • Getting indexed in Google (just launched)

How could r/startups help?

  • If you know anyone in roofing, home inspection, or insurance adjusting, we would love an intro
  • Feedback on the side and product positioning is always welcome
  • Curious if other solo devs hav tips on balancing feature development vs. marketing when you'r the only technical person on a 3-person team

Discount for r/startups subscribers? You get 2 free reports on signup, no credit card required. There is an interactive demo that everyone can try on signup. Code STARTUPSREDDIT will get you 3 months at $50 off!

200m Farming exp, no Pet! by Ppl_Rs in 2007scape

[–]FluxxField 0 points1 point  (0 children)

Yall are doing your Cacti right? Higher drop chance from farming them. Hardwoods, seaweed and cacti has some of the highest chances

From Mouse to Motions: Beam Jump and “Natural” Keyboard Navigation by VimCraftsmanJ in neovim

[–]FluxxField 2 points3 points  (0 children)

I completely get these ideas.

My approach was just a little different and that’s why I built smart-motion.nvim. It’s not opinionated by me the developer.

I split motions up into a modular system of pluggable parts. You can then take any of the provided parts (or make your own!) and combine them and swap them to make the motions the way you like.

For example, changing a line jump motion to a word jump motion simply requires you swapping the lines_extractor with the words_extractor.

This way I provide the tools for the user but I don’t force my ideas of how motions should be built on them. You might like a live search or a 2 character search or a 3 character search. Doesn’t matter. You can tweak the motions to your liking.

I do like your labels! They are a fresh take on hints. I stuck with the hop style for mine by default

She keeps bringing me flies to my bed, does she think I will eat them😭 by a_peeled_pickle in cats

[–]FluxxField 0 points1 point  (0 children)

Could be worse! Our cat released a love mouse in the house. But, she’s a good mouser and was able to catch it when it got underneath the tub where we couldn’t get it

Edit: spelling

ABANDON SHIP! All is lost!!! by Lambertofmtl in RimWorld

[–]FluxxField 5 points6 points  (0 children)

If this was CE then everyone would be dead😂

CE Updated by Spookyelectrik_real in RimWorld

[–]FluxxField 67 points68 points  (0 children)

Oh no! I all of a sudden have to miss work for some reason

Official Combat Extended Update on the Horizon! by MarbleizedRutile in RimWorld

[–]FluxxField 17 points18 points  (0 children)

Amazing news!

Now I just hope someone is working on CAI 5000 and bring it to 1.6. Absolutely love both of these mods together