RSS Reader

Last updated: 2026-04-13 17:14 UTC

AddyOsmani.com

Agentic Engine Optimization (AEO)

11 Apr 2026

AI coding agents consume documentation fundamentally differently from humans. If you're still optimizing only for human readers, you're leaving a growing share of your audience invisible to your tooling.

Your parallel Agent limit

7 Apr 2026

Running multiple agents in parallel is not just a question of throughput. It is a new kind of cognitive labor that requires managing multiple mental models, continuous judgment calls, and an ambient anxiety tax

The Code Agent Orchestra - what makes multi-agent coding work

26 Mar 2026

The shift from conductor to orchestrator: how to coordinate teams of AI coding agents in real-world software workflows. From subagents to Agent Teams to purpose-built orchestration tools, this talk covers the patterns, tools, and discipline required to thrive in the era of agentic engineering.

Comprehension Debt - the hidden cost of AI generated code.

14 Mar 2026

The Factory Model: How Coding Agents Changed Software Engineering

25 Feb 2026

Software engineering is not about writing code anymore. It is about building the factory that builds your software.

Stop Using /init for AGENTS.md

23 Feb 2026

Two papers published in early 2026 suggest you might have just made your agent slower, more expensive, and no more accurate. The right mental model is to treat AGENTS.md as a living list of codebase smells you haven't fixed yet, not a permanent configuration.

Bias Toward Action

15 Feb 2026

Bias toward action is defaulting to the smallest responsible step that produces real feedback, while pre-committing to guardrails so that being wrong is survivable and quickly correctable.

14 More Lessons from 14 years at Google

12 Feb 2026

More lessons learned from 14 years of engineering at Google, focusing on what truly matters beyond just writing great code.

Claude Code Swarms

5 Feb 2026

Claude Code now supports agent teams - coordinated swarms of AI agents that research, debug, and build in parallel. What was feature-flagged is now real. Here's what it means and how to use it.

Agentic Engineering

4 Feb 2026

Agentic Engineering is a disciplined approach to AI-assisted software development that emphasizes human oversight and engineering rigor, distinguishing it from the more casual 'vibe coding' style.

Anthropic Engineering Blog

Claude Code auto mode: a safer way to skip permissions

25 Mar 2026

Claude Code users approve 93% of permission prompts. We built classifiers to automate some decisions, increasing safety while reducing approval fatigue. Here's what it catches, and what it misses.\n

Harness design for long-running application development

24 Mar 2026

Harness design is key to performance at the frontier of agentic coding. Here's how we pushed Claude further in frontend design and long-running autonomous software engineering.

Eval awareness in Claude Opus 4.6’s BrowseComp performance

6 Mar 2026

Evaluating Opus 4.6 on BrowseComp, we found cases where the model recognized the test, then found and decrypted answers to it—raising questions about eval integrity in web-enabled environments.

Building a C compiler with a team of parallel Claudes

5 Feb 2026

We tasked Opus 4.6 using agent teams to build a C Compiler, and then (mostly) walked away. Here's what it taught us about the future of autonomous software development.

Designing AI-resistant technical evaluations

21 Jan 2026

What we learned from three iterations of a performance engineering take-home that Claude keeps beating.

Demystifying evals for AI agents

9 Jan 2026

The capabilities that make agents useful also make them difficult to evaluate. The strategies that work across deployments combine techniques to match the complexity of the systems they measure. \n

Effective harnesses for long-running agents

26 Nov 2025

Agents still face challenges working across many context windows. We looked to human engineers for inspiration in creating a more effective harness for long-running agents.

Introducing advanced tool use on the Claude Developer Platform

24 Nov 2025

We’ve added three new beta features that let Claude discover, learn, and execute tools dynamically. Here’s how they work.

Code execution with MCP: Building more efficient agents

4 Nov 2025

Direct tool calls consume context for each definition and result. Agents scale better by writing code to call tools instead. Here's how it works with MCP.

Beyond permission prompts: making Claude Code more secure and autonomous

20 Oct 2025

Claude Code's new sandboxing features, a bash tool and Claude Code on the web, reduce permission prompts and increase user safety by enabling two boundaries: filesystem and network isolation.

Effective context engineering for AI agents

29 Sep 2025

Context is a critical but finite resource for AI agents. In this post, we explore strategies for effectively curating and managing the context that powers them.

A postmortem of three recent issues

17 Sep 2025

This is a technical report on three bugs that intermittently degraded responses from Claude. Below we explain what happened, why it took time to fix, and what we're changing.

Writing effective tools for agents — with agents

11 Sep 2025

Agents are only as effective as the tools we give them. We share how to write high-quality tools and evaluations, and how you can boost performance by using Claude to optimize its tools for itself.

Desktop Extensions: One-click MCP server installation for Claude Desktop

26 Jun 2025

Desktop Extensions make installing MCP servers as easy as clicking a button. We share the technical architecture and tips for creating good extensions.

How we built our multi-agent research system

13 Jun 2025

Our Research feature uses multiple Claude agents to explore complex topics more effectively. We share the engineering challenges and the lessons we learned from building this system.

Claude Code: Best practices for agentic coding

18 Apr 2025

Claude Code is a command line tool for agentic coding. This post covers tips and tricks that have proven effective for using Claude Code across various codebases, languages, and environments.

The \"think\" tool: Enabling Claude to stop and think in complex tool use situations

20 Mar 2025

A new tool that improves Claude's complex problem-solving performance

Raising the bar on SWE-bench Verified with Claude 3.5 Sonnet

6 Jan 2025

SWE-bench is an AI evaluation benchmark that assesses a model's ability to complete real-world software engineering tasks.

Building effective agents

19 Dec 2024

We've worked with dozens of teams building LLM agents across industries. Consistently, the most successful implementations use simple, composable patterns rather than complex frameworks.

Introducing Contextual Retrieval

19 Sep 2024

For an AI model to be useful in specific contexts, it often needs access to background knowledge.

top scoring links : neovim

Multiplayer Vim Racing (VIM_GYM): Assess your key efficiency

10 Apr 2026

Multiplayer Vim Racing (VIM_GYM): Assess your key efficiency

Hello! I wanted to say thank you for all of the amazing feedback I got on the first post, it’s been a blast playing with everyone and iterating on the app!

Lots of the feedback I got from the first post was from new players wanting to improve their VIM skills. One of the main reasons I created VIM_GYM was to help new users, so I focused efforts on improving the experience for them.

New Feature: Match Review

After completing a Multiplayer or Practice match, review your keypresses per task and compare to our algorithmically generated key sequence for completion. Each task has a playground editor where you can test these different ways to solve the task. Note this sequence is not always the most efficient way to solve, it’s intended to show a variety of different ways to approach a task. Hoping this helps people learn and improve their speed + key efficiency!

Practice mode Cheatsheet + Hints:

For people just getting started with VIM, I’ve added a small menu explaining simple commands to help get started. Also for any given task, you can see our recommended sequence as a toggle-able hint.

Leaderboard:

Added a simple leaderboard showing the fastest times this week, month and all time. You can play the same tasks of those on the leaderboard. Note: any replayed tasks do not qualify, it must be a fresh set of tasks. I realize there may be some luck involved lol.

I'm currently holding the all time high score of 13.3 seconds (username THE_DEV I promise its me). Come get some!

Last time reddit feedback was very helpful in finding bugs and improving, if anything breaks or doesn't work how you think it should, definitely leave it in the comments!

Github: https://github.com/Swaggermuffin64/VIM_GYM/tree/main

Give it a try! https://vimgym.app

submitted by /u/swaggermuffin64
[link] [comments]

📍tiny-cmdline.nvim: Centered floating cmdline for Neovim 0.12

9 Apr 2026

📍tiny-cmdline.nvim: Centered floating cmdline for Neovim 0.12

Hello!

A new plugin in the series of "tiny" ones. This time, it's really tiny: a floating cmdline window centered on the screen, similar to noice.nvim, for Neovim 0.12+, using the new ui2 module.

It works with native completion, mini.cmdline, blink.cmp, and nvim-cmp.

Here's the link: https://github.com/rachartier/tiny-cmdline.nvim

If you find any bugs, have suggestions, or encounter issues, feel free to open an issue on the repo.

Thanks for reading !

submitted by /u/Le_BuG63
[link] [comments]

nvim 0.12's new :restart command is nice

10 Apr 2026

Whenever I did a config change, I was never that bothered with quitting Neovim and re-opening it. But this new :restart command feels like such a huge step up. Thank you Neovim team!

It's so nice restarting Neovim in-place and see the changes right away.

Sharing my keymap that restarts Neovim in-place while preserving the window layout, buffers, and cursor position:

lua vim.keymap.set('n', '<leader>R', function() local session = vim.fn.stdpath('state') .. '/restart_session.vim' vim.cmd('mksession! ' .. vim.fn.fnameescape(session)) vim.cmd('restart source ' .. vim.fn.fnameescape(session)) end, { desc = 'Restart Neovim' })

submitted by /u/managing_redditor
[link] [comments]

Refreshing your Neovim config for 0.12.0

7 Apr 2026

I made a color theme! 🔥 Ember — warm graphite, one coral accent, three variants

11 Apr 2026

I made a color theme! 🔥 Ember — warm graphite, one coral accent, three variants

I've been chasing the right theme for a while. Most things are either too saturated, too blue, or they look great in screenshots and feel wrong after an hour of actual work. So I eventually just made one.

It's called Ember. Dark warm graphite base, muted earth tones, and a single coral accent. Pretty restrained, most syntax stays close to foreground and the accent only shows up where it matters. I tuned the palette in CIELAB rather than HSL, which sounds pretentious but it genuinely makes a difference in how balanced it feels across different lighting.

Three variants: dark, soft dark, and light. Treesitter, LSP, telescope, snacks, blink, neotree, gitsigns, lualine all covered.

https://github.com/ember-theme/nvim

https://embertheme.com

Fun fact: I originally built this for Emacs because there aren't enough good themes there. Then I ported it to Neovim. Make of that what you will.

submitted by /u/OkAdhesiveness1951
[link] [comments]

Treesitter without nvim-treesitter. A guide

12 Apr 2026

I moved away from nvim-treesitter a while ago. The reason actually was that after switching from master to main branch some of my parsers stopped working, so I decided to figure out how to set up these myself. And it was actually pretty simple.

First thing you need is tree-sitter-cli, I've installed it with brew install tree-sitter-cli. Then:

  1. Find out the parsers you need. Google them, their names are usually tree-sitter-<lang>. As an example, I will take Go language, the parser is here
  2. git clone https://github.com/tree-sitter/tree-sitter-go ~/my/location/tree-sitter-go
  3. cd ~/my/location/tree-sitter-go
  4. tree-sitter generate
  5. tree-sitter build
  6. You will get a parser file in current directory, usually it's either .so or .dylib file. In my case, it's go.dylib
  7. mv go.dylib ~/.config/nvim/parser/go.dylib. The name of the parser should be the same as language name (open any file in neovim and type :echo &filetype to get the name)
  8. Now you can run :checkhealth vim.treesitter. Neovim should find this new parser you've built
  9. The next step is to download .scm files for your parser. You can find some of them in tree-sitter repository, in queries/ dir, but usually it's better to download them from nvim-treesitter repo. There are more queries for folding, injections, etc. The easiest way for me was to:

git clone https://github.com/nvim-treesitter/nvim-treesitter ~/my/location/nvim-treesitter cd !$ cp -r runtime/queries ~/.config/nvim/queries 

Done!

submitted by /u/tediak_
[link] [comments]

nvim-dap-view: v1.1.0 brings VSCode-style inline values for variables

11 Apr 2026

nvim-dap-view: v1.1.0 brings VSCode-style inline values for variables

Hey vimmers,

Time to share yet another exciting feature of nvim-dap-view: inline values for variables.

This feature isn't exactly new in the neovim ecosystem, nvim-dap-virtual-text had it for years. Nonetheless, I thought it would be cool to have it bundled with nvim-dap-view (I'm in the "remove plugins" crowd). So I basically took nvim-dap-virtual-text's code, cleaned it up a bunch and added some features: moved to asynchronous treesitter parsing and added custom highlights based on the variable's type. This "custom highlights" feature actually uses a new feature from 0.12: the "dim" terminal attribute (looks really nice with foot, haven't tested other environments).

Do note that this isn't a 1:1 reimplementation of nvim-dap-virtual-text, lots of configuration options are missing. If you need anything, please, open a feature request.

To reiterate: this specific feature requires 0.12

Happy debugging.

submitted by /u/Wonderful-Plastic316
[link] [comments]

nvumi - natural language calculator in a scratch buffer

9 Apr 2026

nvumi - natural language calculator in a scratch buffer

Hello folks,

Been a while since I did anything meaningful with this silly project but I just pushed a few updates and figured I'd share.

https://github.com/josephburgess/nvumi

nvumi pipes numi-cli into a scratch buffer. You can type natural language expressions (e.g. 20 inches in cm, 10% of 340, today + 3 weeks, etc ) and see answers as virtual text as you type. You can also create custom conversion ratios and mathematical functions to add your own calculation logic (examples/recipes on the wiki here)

I originally built it about a year ago, inspired by the lua code runner in u/folke's Snacks.scratch buffer. I really wanted to learn a bit more of the internals of neovim and lua plugin development and it felt like a fun way to do that.

With the release of 0.12 recently I wanted to make sure this thing still worked and for the most part there was nothing broken, but while I was at it I decided to try and implement one of the goals I'd hoped to figure out last year before getting distracted, which was to get rid of the hard dependency on snacks and draw my own scratch buffer.

I'd been putting this off last year assuming it would be a pain but it actually turned out to be surprisingly straightforward to use `nvim_create_buf` and `nvim_open_win` to contain the thing and I wish I'd done it sooner..

It's still a bit of a novelty project that, at most, you'll probably try once/star it and swiftly forget about, but I learned a lot building it and thought I'd share!

submitted by /u/GreezleFish
[link] [comments]

nvim-dap-view: v1.1.1 switches to GPLv3

12 Apr 2026

Hey vimmers,

Sorry if the successive posts feel spammy.

After an overwhelmingly negative response in my last post, I'm here to inform you that nvim-dap-view switched to GPL v3. That's it.

As a reminder of my commitment to transparency, I encourage you guys to take a look at the acknowledgements page.

Thanks.

submitted by /u/Wonderful-Plastic316
[link] [comments]

How does the new ui2 (message & cmdline replacement) compare to plugins like Noice?

8 Apr 2026

I just started to look at Nvim 0.12's changes, and it includes a new ui2 module, an experimental replacement for the message and cmdline UIs. I current use Noice and just feel indifferent at the thought of trying it, but what are your thoughts?

submitted by /u/TheTwelveYearOld
[link] [comments]

Arborist: Tree-Sitter manager and Open Registry

7 Apr 2026

Edit: Now includes queries. Open, non-plugin specific query repo at arborist-ts/queries.


I built a pretty no-nonsense Tree-sitter (TS) parser manager I’m calling Arborist. Find it here: arborist-ts/arborist.nvim.

Arborist is a WASM-first, native-second tree-sitter parser manager for Neovim 0.12+. Parsers (plus nvim highlights, folds, indents, injections, and locals) install automatically when you open files. No manual steps, no maintenance.

Install:

vim.pack.add({ "https://github.com/arborist-ts/arborist.nvim", })

Works out of the box with no setup call. I designed it to be as fire and forget as possible.

OPEN REGISTRY AND QUERIES:

I firmly believe the TS registry deserves its own home which can be used by many different projects, which I started here: arborist-ts/registry. Similarly, queries deserve their own non-plugin-specific home, which is here: arborist-ts/queries. These are both independent of arborist-ts/arborist.nvim, and can (and should!) be used by other plugins.

Feedback, bug reports, and contributions all extremely welcome.

Anyone interested in joining the arborist-ts organization to help with maintenance of the plugin, the parser registry, and the queries? Please just ask. This will take a village.

submitted by /u/swaits
[link] [comments]

Neovide 0.16 provides many improvements, including Mac GUI tab support, animated progress bars, and much more

8 Apr 2026

[Theme] carvion.nvim — still a work in progress, feedback appreciated

9 Apr 2026

[Theme] carvion.nvim — still a work in progress, feedback appreciated

I'd like to share carvion.nvim, a colorscheme I've been working on this week, inspired by the Vesper theme from VS Code.

It's still a work in progress and there are details to refine and plugins that still need support, but I didn't want to wait until everything was perfect to share it. I'd like to keep improving it little by little with feedback from the community.

If you decide to try it, any comments or suggestions are more than welcome.

Repository: https://github.com/zitrocode/carvion.nvim

submitted by /u/Specialist-Trifle937
[link] [comments]

The smallest sensible jump plugin in the west

7 Apr 2026

obsidian.nvim 3.16.2: we finally got Obsidian Sync support!

8 Apr 2026

obsidian.nvim 3.16.2: we finally got Obsidian Sync support!

Hey there, obsidian-nvim/obsidian.nvim has just got a new release!

Now you can access Obsidian Sync service through obsidian.nvim, via obsidian-headless cli, without the GUI app. Just enabled the module in your config and run :Obsidian sync to setup connections with the setup wizard, feedbacks are welcome and appreciated!

For more info, see the wiki page

This update is just the core of the support, there are some other directions that I want to explore, like when in conflict mode and there's conflict files, prompt and load the conflicts into quickfix, or running one shot sync on save instead of just one continuous process per workspace.

Anyway I've been using this setup for the past week and it feels pretty nice and stable. Huge thanks to the folks who supported me via open collective in response to my previous post, which pays for my sync subscription, and the amazing obsidian team that makes this feature possible.

submitted by /u/neoneo451
[link] [comments]

what plugin did you mass-uninstall everything else for

9 Apr 2026

my neovim config used to be 800+ lines. i was collecting plugins like pokemon. had a plugin for everything. half of them overlapping, some of them i configured once and never touched again.

about 6 months ago i nuked everything and started over with just the stuff i actually use. went from 40+ plugins down to 12. the editor loads faster and i actually understand my config now. also stopped spending friday nights debugging why some keymap stopped working after an update which is a bonus.

the plugin that survived every purge for me is telescope. i tried replacing it twice, once with fzf-lua and once with just going back to fzf.vim. kept coming back. the live grep through the entire project while previewing matches is something i use probably 50 times a day. it's muscle memory at this point.

second one is treesitter but that barely counts since it's basically part of neovim now.

what's the one plugin you'd keep if you had to mass-delete everything else? not your whole config, just the one thing you'd rebuild around.

submitted by /u/scheemunai_
[link] [comments]

upstream nvim-treesitter

13 Apr 2026

Log file is suddenly 6+ GB

12 Apr 2026

Log file is suddenly 6+ GB

80 million lines is crazy! My craptop tanked it somehow and I didn't even notice. Is this what you get from running neovim with -V10 flag?

submitted by /u/SweetPotato975
[link] [comments]

A case where neovim beats the shell: file operations (with LSP)

10 Apr 2026

Hello folks,

Roughly speaking, neovim users fall into one of two categories: those who consider vim to be "another tool" in their "toolbox", along with, e.g., CLI tools, and those who mostly like to do everything directly from vim. Of course, most users do not fall completely into one extreme (or the other), and there are more complex scenarios (what about a plugin that just wraps a TUI app?). By the sheer amount of people in both "camps", you'd think both are approximately "equivalent" in terms of user experience.

However, there's a scenario where doing everything from vim has a clear benefit: LSP file operations. These are (either) requests (or notifications) the client (neovim) sends after it detects a change in the file system. Most commonly, these are leveraged by "file explorer" plugins, such as oil.nvim. In practical terms, what happens is that when you rename* a file, its imports are automatically updated (thanks to the language server). Nothing stops you from also leveraging this capability with an external file explorer, by hooking up events and communicating with neovim over RPC (for instance), but that does sound much more complex than using a "file explorer" plugin (curious to see if any wrappers, like yazi.nvim, have implemented such plumbing).

Not every file explorer ships this feature natively, though. Some solutions have been built around that, namely, nvim-lsp-file-operations (and a snacks' module). I had been using the former basically since its inception (and then, my own fork for like a year), but I was wondering if the nvim-tree guys wanted to support this feature natively, and, as it turns out, they do! Which lead me to, eventually, make my own implementation. But I never got to submitting the PR. If you're a nvim-tree user who's missing this feature, let me know, and I may take this over the finish line. If anyone else is interested in yoinking my code and submitting the patch themselves, feel free to do so!

*: Create or delete as well, depends on the LS's capabilities

submitted by /u/Wonderful-Plastic316
[link] [comments]

Vim tip: more intuitive CTRL-A (adding) and CTRL-X (subtracting)

10 Apr 2026

Vim tip: more intuitive CTRL-A (adding) and CTRL-X (subtracting)

Little disclaimer. What’s “more intuitive” for me may not be “more intuitive” for you. Also, the title says “Vim” but everything here is applicable in Neovim. With that out of the way, let’s learn something cool!

submitted by /u/pawelgrzybek
[link] [comments]

I don't get the oil.nvim hype.

11 Apr 2026

I have seen so many posts saying that oil is a MUST have plugin and have tried to use it on multiple occasions and just haven't seen what's so great. It may just be how I use neovim but does anyone else feel this way?

submitted by /u/Historical_Cloud_528
[link] [comments]

I migrated to neovim-treesitter/nvim-treesitter

11 Apr 2026

UPDATE: I moved back to the archived version nvim-treesitter/nvim-treesiter after realizing that my move to this project may or may have not been premature. Will have to wait and see for a few more weeks how things develop.

Had to install plenary.nvim and a few query-only parsers to fix errors in :checkhealth and have been living happily ever after.

vim.pack

 -- Treesitter { src = 'https://github.com/nvim-lua/plenary.nvim' }, { src = 'https://github.com/neovim-treesitter/nvim-treesitter' }, { src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects' }, { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, 

my treesitter config

-- Treesitter require('nvim-treesitter').setup({ install_dir = vim.fn.stdpath('data') .. '/site', }) -- jsonc uses the json parser vim.treesitter.language.register('json', { 'jsonc' }) local parsers = { 'bash', 'css', 'diff', 'dtd', 'ecma', 'editorconfig', 'fish', 'git_config', 'git_rebase', 'gitattributes', 'gitcommit', 'gitignore', 'hcl', 'html', 'html_tags', 'javascript', 'jsdoc', 'json', 'jsx', 'latex', 'lua', 'make', 'markdown', 'markdown_inline', 'python', 'query', 'regex', 'scss', 'toml', 'tsx', 'typescript', 'typst', 'vim', 'vimdoc', 'xml', 'yaml', 'yang', } -- Install parsers after startup vim.schedule(function() require('nvim-treesitter').install(parsers) end) -- Textobjects (selection handled by mini.ai, movement by treesitter-textobjects) require('nvim-treesitter-textobjects').setup({ move = { set_jumps = true, }, }) local map = vim.keymap.set -- Movement map({ 'n', 'x', 'o' }, ']f', function() require('nvim-treesitter-textobjects.move').goto_next_start('@function.outer', 'textobjects') end, { desc = 'next function start' }) map({ 'n', 'x', 'o' }, '[f', function() require('nvim-treesitter-textobjects.move').goto_previous_start('@function.outer', 'textobjects') end, { desc = 'previous function start' }) map({ 'n', 'x', 'o' }, ']F', function() require('nvim-treesitter-textobjects.move').goto_next_end('@function.outer', 'textobjects') end, { desc = 'next function end' }) map({ 'n', 'x', 'o' }, '[F', function() require('nvim-treesitter-textobjects.move').goto_previous_end('@function.outer', 'textobjects') end, { desc = 'previous function end' }) map({ 'n', 'x', 'o' }, ']k', function() require('nvim-treesitter-textobjects.move').goto_next_start('@class.outer', 'textobjects') end, { desc = 'next class start' }) map({ 'n', 'x', 'o' }, '[k', function() require('nvim-treesitter-textobjects.move').goto_previous_start('@class.outer', 'textobjects') end, { desc = 'previous class start' }) map({ 'n', 'x', 'o' }, ']K', function() require('nvim-treesitter-textobjects.move').goto_next_end('@class.outer', 'textobjects') end, { desc = 'next class end' }) map({ 'n', 'x', 'o' }, '[K', function() require('nvim-treesitter-textobjects.move').goto_previous_end('@class.outer', 'textobjects') end, { desc = 'previous class end' }) -- Context require('treesitter-context').setup({ line_numbers = true, max_lines = 3, min_window_height = 20, }) map('n', 'gC', function() require('treesitter-context').go_to_context() end, { desc = 'go to context' }) 
submitted by /u/aribert
[link] [comments]

We have harpoon at home

9 Apr 2026

I got into nvim partly because of watching ThePrimagen. Therefor one of the first plugins i've used was harpoon. I never used it a lot, since most of my navigation is done through telescope, but recently I value direct file swaps a little bit more. I've been doing this with the native nvim mark system

The first change I made was setting up some file markers for global marks, e.g. 'mT' for going to my .../todo.md via "'T". That's kinda nice already, but it doesn't drop you were you left the buffer.

There are two interesting marks already set by nvim '" and '.

These go to the last point you exited the buffer (") or to the last edit of the buffer (.). Thats handy.

Since 'T'" is a mouthful and i don't really see the value of swapping to my marks without going to the location I left I set a keymap to do both commands in one

-- in my init.lua -- Instead of jumping to the mark at the file jump to the file and go to the last exit of the buffer local function remap_uppercase_marks() for i = string.byte("A"), string.byte("Z") do local mark = string.char(i) vim.keymap.set("n", "'" .. mark, function() vim.cmd("normal! '" .. mark) vim.cmd([[normal! '"]]) end, { noremap = true, silent = true }) end end remap_uppercase_marks() 

If you want to go exactly where you set the mark there is still the backtick `T which brings you exactly were you set the mark.

But harpoon has another feature, which is project wide marks instead of global marks.

Most of my projects already have a .nvim.lua in their root. For those of you who dont know, the file is run at nvim startup when running nvim from this directory or a child. Just make sure to run :trust before and let nvim know you are using this kind of setup with

--in init.lua vim.o.exrc = true -- <- Nvim will execute any .nvim.lua, .nvimrc, or .exrc file found in the |current-directory| and all parent directories (ordered upwards), if the files are in the |trust| list. vim.o.secure = true -- <- - *'secure'* : Everything is allowed in 'exrc' files, because they must be explicitly marked as "trusted". 

Its perfect to set project wide settings. To have project wide marks I add

-- .nvim.lua local function set_file_mark(mark, filepath) local bufnr = vim.fn.bufadd(filepath) vim.fn.setpos("'" .. mark, { bufnr, 1, 1, 0 }) end set_file_mark("M", "main.py") set_file_mark("A", "foo/add.py") 

To conclude, these roughly 20 lines of lua fulfill my "jump to specific" file needs and patch in the missing functionality of project wide marks and going back to the position of the buffer I left. Harpoon offers other features, too, e.g. ui, and no need of sourcing .nvim e.g. when switching projects from the same nvim instance but these dont have a high prio for me right now.

Using the native mark system also seems kinda right to me, since when you get used to it, it can be used in vanilla vim/nvim in a very similar way.

Using alphabetic keys is also handy for mnemonic shortcuts.

That's it, maybe some of you give it a try.

submitted by /u/brokenreed5
[link] [comments]

Highlighting the scope (parentheses, braces, etc.) the cursor is inside?

8 Apr 2026

Highlighting the scope (parentheses, braces, etc.) the cursor is inside?

I don't not just want them highlight when my cursor is on a parentheses or brace, but also when its inside them.

submitted by /u/TheTwelveYearOld
[link] [comments]

Planary.nvim is no longer maintained, what happened and what now?

10 Apr 2026

A recent commit on 10th of April updated the readme with an announcement that the plugin is no longer maintained and will be archived soon. Does anybody have more information about this on what happened?
I wonder what this will have for effect, I have a bunch of plugins that depend on this plugin.

submitted by /u/JONESY-B
[link] [comments]