Neovim
-
Showing off my new alien spaceship themed tabby.nvim setup :D (feat. neovide, fzf, airline, markview)
My new design direction for neovim is "you just sat down in a homie's spaceship and have no idea what any of the buttons do" -- you can see how I did it here with tabby.nvim: https://github.com/Garoth/Configs/blob/da354cd98241dc7582718a9082226fab99403e4a/nvim/init.vim#L752
I'm an oldschool vim guy, so a lot of my plugin tastes lean towards the ancient. Telescope?? Nah I had that figured out with fzf.vim many years ago, and it's stupid fast. Harpoon? Nah, I have marks, permanent undo and location memory, alternate files, fast search. Plus I love using fzf in my terminal so it all blends together so well. I still use vim-plug, it's pretty much perfect, and have no interest in lazy or whatever the new flavor-of-the-year package manager is
Neovide continues to be what I believe is the future of neovim. The performance is best in class, probably theoretically better than even terminals can achieve (since rendering can be done much more selectively, understanding vim concepts like floating windows and such, which have compositing in neovide). The idea of "progressive improvements" in a GUI rather than trying to make something totally different is a great call. In the future, they are likely to implement a new age of image rendering too, which would be aware of z-index layering (so you could have a floating window on top of an image -- current image-in-terminal approaches just put the image on top)
Airline -- well, this is in the category of "if it aint broke dont fix" -- Airline has been in development for like 11 years and has 2700+ commits, 17k+ stars on github. I mean, this is a ridiculous history, that's more work than most projects on github, just for a statusline. I don't tend to chase trends or replace vim code with lua - who cares - vimscript is stable and reliable
Shoutout to the Maple Mono font -- with a lot of amazing ligatures that I didn't have before, super cozy. Demo recorded on an 7 year old samsung chromebook running Wayland/Pipewire Arch with a dualcore cpu, 4gb of ram, 14nm intel integrated graphics, and a 32gb harddrive. Linux is so cool, being able to do that. The ending was... not on purpose lmao
-
[solved]help - tmux paints vim
idk im having this issue for a long time. itd be nice to have this fixed.
thanks
Edit: I that doesnt help:
term=xterm-...
in shell configset-option -ga terminal-overrides ",xterm-256color:Tc"
in tmux config
solution:
thanks to mazadin for the solution.
im using foo terminal, so setting
set-option -ga terminal-overrides ",foot:Tc"
in tmux.config fixed it. (yeah im dumb) -
-
Anyone using a Neovim distribution? Which one?
Been using LunarVim which seems discontinued and started to break recently. Probably moving to SpaceVim soon. Other distro's being used here?
-
suedit.nvim — A plugin to easily edit root files
github.com GitHub - Grafcube/suedit.nvim: A neovim plugin to seamlessly edit files that require superuser accessA neovim plugin to seamlessly edit files that require superuser access - Grafcube/suedit.nvim
I made a small plugin that other people might find handy. It checks if the file open in the current buffer has write access and if not, prompts for sudo (or any other command at your choice) and copies the file.
No longer do you need to care about forgetting to use sudoedit or anything else, just edit the files you want to edit! This could change the world!!1!
But in all seriousness, this is my first neovim plugin and I barely spent an hour on it but it's simple and it gets the job done. It scratches a minor itch and maybe you'll also find it useful.
-
parrot.nvim: use Claude Opus, ollama, perplexity.ai and OpenAI from neovim
github.com GitHub - frankroeder/parrot.nvim: parrot.nvim 🦜 - the plugin that brings stochastic parrots to Neovim.parrot.nvim 🦜 - the plugin that brings stochastic parrots to Neovim. - frankroeder/parrot.nvim
This is parrot.nvim, the ultimate stochastic parrot to support your text editing inside Neovim.
Frank Röder started this repository because a perplexity subscription provides $5 of API credits every month for free. Instead of letting them go to waste, he modified his favorite GPT plugin, gp.nvim, to meet his needs - a new Neovim plugin was born! 🔥
Unlike gp.nvim, parrot.nvim prioritizes a seamless out-of-the-box experience by simplifying functionality and focusing solely on text generation, excluding the integration of DALLE and Whisper.
Features
- Persistent conversations as markdown files stored within the Neovim standard path or a user-defined location
- Custom hooks for inline text editing with predefined prompts
- Support for multiple providers:
- Anthropic API
- perplexity.ai API
- OpenAI API
- Local and offline serving via ollama
- Custom agent definitions to determine specific prompt and API parameter combinations, similar to GPTs
- Flexible support for providing API credentials from various sources, such as environment variables, bash commands, and your favorite password manager CLI
-
How to disable automatic identation
I'm normally a straight vim user (just out of habit, no particular preference) and I'm giving neovim a spin. So far I like it but...
For the love of all that's holy, how do I disable automatic indentation?
I have noautoindent set, nosmartindent set, filetype indent off, but neovim keeps inserting indentations. The only thing that works is setting paste on, but that's not the right solution to this problem.
Please help. This is driving me nuts!
- ash.fail How lazy loading works in Neovim
Implementing and explaining lazy loading in Neovim with around 30 lines of code.
-
Why might my treesitter symbols be empty?
I'm on NixOS and slowly working through neovim config.
I have treesitter installed with all grammars and it's set up in lua. When I run :TSymbols, it pops open a window showing -----treesitter-----, but no symbols are shown from the (python) code I have open.
All of the setup is put in place by the config flake I'm using, but I don't think there's any additional stuff to add for symbols to work. The treesitter section in the resulting init.lua from nix looks like this:
require('nvim-treesitter.configs').setup({ ["context_commentstring"] = { ["enable"] = false }, ["highlight"] = { ["enable"] = true }, ["incremental_selection"] = { ["enable"] = false, ["keymaps"] = { ["init_selection"] = "gnn", ["node_decremental"] = "grm", ["node_incremental"] = "grn", ["scope_incremental"] = "grc" } }, ["indent"] = { ["enable"] = false }, ["refactor"] = { ["highlight_current_scope"] = { ["enable"] = false }, ["highlight_definitions"] = { ["clear_on_cursor_move"] = true, ["enable"] = false }, ["navigation"] = { ["enable"] = false, ["keymaps"] = { ["goto_definition"] = "gnd", ["goto_next_usage"] = "<a-*>", ["goto_previous_usage"] = "<a-#>", ["list_definitions"] = "gnD", ["list_definitions_toc"] = "gO" } }, ["smart_rename"] = { ["enable"] = false, ["keymaps"] = { ["smart_rename"] = "grr" } } } })
-
Configuring Neovim for Swift Development
www.swift.org Swift.orgSwift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
-
A Powerful Way To Make Editing Code In Neovim Even Better (Treesitter & Text Objects) | Josean Martinez | October 4, 2023
www.josean.com A Powerful Way To Make Editing Code In Neovim Even Better (Treesitter & Text Objects)How to setup treesitter & treesitter text objects to take code editing in Neovim to the next level.
-
My workflow for writing SQL(ite) queries (2024 edition)
www.jvt.me My workflow for writing SQL(ite) queries (2024 edition) · Jamie Tanna | Software EngineerWriting about my recent workflow for writing, executing, and sharing SQL queries with others.
-
Help disabling "Possible spelling mistake found" in vimtex
Hi everyone, could someone help a desperate student to turn off the 'Possible spelling mistake found' in LaTeX files with the vimtex plugin. It's been 3h now and I still dont have any idea on how to turn this off (or at least change the language, but knowing how to do both would be really cool). I tried everything I could, still don't kow where this is from. Help would be really appreciated. Thanks in advance.
-
Neovim on Fedora
fedoramagazine.org Neovim on Fedora - Fedora MagazineThis article will guide you through installing Neovim on Fedora for efficient and effective coding in languages like Rust, Python, Go, and TypeScript. Note: It is not a tutorial on Neovim.
-
😽 kitty-scrollback.nvim v5.0.0 drop support for Kitty version < 0.32.2 + use Kitty's builtin bracketed paste + experimental tmux support
kitty-scrollback.nvim v5.0.0 is officially released! Check out the announcement here
What is kitty-scrollback.nvim?
A Neovim plugin (and Kitty Kitten) that allows you to navigate your Kitty scrollback buffer to quickly search, copy, and execute commands in Neovim.
!demo
Check out the README for detailed information, the Wiki for additional configurations, and Advanced Configuration Examples for more demos!
What changed?
See Migrating to v5.0.0 for the detailed migration guide.
- kitty-scrollback.nvim v5.0.0 uses Kitty's builtin
--bracketed-paste
option when sending commands to Kitty. The--bracketed-paste
option was added in Kitty 0.32.2. If you are using an older version of Kitty, then upgrade to the latest version or at least 0.32.2. - Alternatively, if you are unable to upgrade Kitty, then you can still use tag v4.3.6 of kitty-scrollback.nvim.
- See kitten-send-text for more information on the
--bracketed-paste
option.
Other minor version updates
- Added experimental tmux support in v4.0.3! See tmux (🧪 experimental ) for setup instructions.
- A handful of bug fixes and smaller features, see the CHANGELOG for more information.
What's next?
The next feature I plan to work on is adding command-line editing support (see #253). I also plan to complete the work necessary to move tmux support from experimental to stable.
If you have any questions, comments, or feedback feel free to create an issue or open a discussion.
- kitty-scrollback.nvim v5.0.0 uses Kitty's builtin
-
Personal simple statusline
Personal simple statusbar script. https://gitlab.com/-/snippets/3715695
Works best with Humanoid colors.
-
Trouble v3 has been released
github.com GitHub - folke/trouble.nvim: 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing. - folke/trouble.nvim
-
Neovim Configuration for SystemVerilog
github.com GitHub - thecooldaniel/nvim-config-systemverilog: A minimum configuration for Neovim targeting SystemVerilog that provides configuration for plugin management, a language server, tree-sitter, and lintingA minimum configuration for Neovim targeting SystemVerilog that provides configuration for plugin management, a language server, tree-sitter, and linting - thecooldaniel/nvim-config-systemverilog
Hey everyone,
I wanted to use Neovim for writing SystemVerilog, but found that there were very few examples or discussions around how to get common plugins like lspconfig, nvim-lint, and nvim-treesitter working together. After building a configuration that works for me, I thought I would share it as an example for others in the future.
You can find it here: https://github.com/thecooldaniel/nvim-config-systemverilog
Hope it helps someone and feedback/contribution is very welcome.
-
A nice video demonstration of Flash.nvim | Navigate your code with search labels, enhanced character motions and Treesitter integration
YouTube Video
Click to view this content.
The presenter compares some of the functionality to Leap.nvim
-
[solved] How to get rid of those stupid background and font color?
Update: Based on the discussion here and in other places I added the following (well, technically I did something different in my colorscheme, but in the end it translates to that)
lua vim.api.nvim_set_hl(0, 'Normal', {})
This reverts the weird text and background colors to the previous behavior of ... not setting them. ________
With update 0.10 Neovim behavior changed regarding text color and background color.
I use a color theme that does not set those and previously this worked perfectly fine. Neovim simply used the font color defined in the terminal and had a transparent background.
Now the background is
#14161b
and the font color is#e0e2ea
. Neither of the colors is configured ANYWHERE in my whole setup. Neither in the colorscheme, nor in my terminal configuration, nor in my Neovim configuration.Is there a sane way to revert this to the old behavior? (i.e. use the font color configured in the terminal’s configuration and use transparent background.)
-
Help with native inlay hints
So I've just started using the native LSP inlay hints. I was wondering, does anybody know how to move the inlay hints to the end of the line, instead of in the middle of the line? Matter of preference I suppose, but I find it clutters the line too much.
-
Difficluties with installing astro nvim and nvchad
I am trying to install Astro Vim and after installation, I get prompted with a big block of lua errors. I asked some chatbot for what this might mean and it said that it's probably due to an outdated version of nvim... I got the latest 0.10.0 stable. Does someone know on why this might be happening? I get a very similar error when installing nvchad. Here is the output from nvim once I open it
Error detected while processing /home/marty/.config/nvim/init.lua: E5113: Error while calling lua chunk: vim/_init_packages.lua:0: module 'vim.uri' not found: no field package.preload['vim.uri'] no file './vim/uri.lua' no file '/home/runner/work/neovim/neovim/.deps/usr/share/luajit-2.1/vim/uri.lua' no file '/usr/local/share/lua/5.1/vim/uri.lua' no file '/usr/local/share/lua/5.1/vim/uri/init.lua' no file '/home/runner/work/neovim/neovim/.deps/usr/share/lua/5.1/vim/uri.lua' no file '/home/runner/work/neovim/neovim/.deps/usr/share/lua/5.1/vim/uri/init.lua' no file './vim/uri.so' no file '/usr/local/lib/lua/5.1/vim/uri.so' no file '/home/runner/work/neovim/neovim/.deps/usr/lib/lua/5.1/vim/uri.so' no file '/usr/local/lib/lua/5.1/loadall.so' no file './vim.so' no file '/usr/local/lib/lua/5.1/vim.so' no file '/home/runner/work/neovim/neovim/.deps/usr/lib/lua/5.1/vim.so' no file '/usr/local/lib/lua/5.1/loadall.so' stack traceback: [C]: in function 'require' vim/_init_packages.lua: in function '__index' vim/loader.lua: in function <vim/loader.lua:0> [C]: at 0x5586658aa190 [C]: in function 'require' vim/_init_packages.lua: in function '__index' ...marty/.local/share/nvim/lazy/lazy.nvim/lua/lazy/init.lua:61: in function 'setup' /home/marty/.config/nvim/lua/lazy_setup.lua:1: in main chunk [C]: in function 'require' /home/marty/.config/nvim/init.lua:18: in main chunk E484: Can't open file /usr/local/share/nvim/syntax/syntax.vim
-
Cmdline - Neovim docs | Command-line window | In the command-line window the command line can be edited just like editing text in any window.
In the command-line window the command line can be edited just like editing text in any window. It is a special kind of window, because you cannot leave it in a normal way.
There are two ways to open the command-line window:
-
From Command-line mode, use the key specified with the 'cedit' option (default CTRL-F).
-
From Normal mode, use the "q:", "q/" or "q?" command.
- This starts editing an Ex command-line ("q:") or search string ("q/" or "q?"). Note that this is not possible while recording is in progress (the "q" stops recording then).
When the window opens it is filled with the command-line history. The last line contains the command as typed so far. The left column will show a character that indicates the type of command-line being edited
-
-
Outline.nvim (Code outline sidebar) v1.0.0 Released
github.com GitHub - hedyhli/outline.nvim: Code outline sidebar powered by LSP. Significantly enhanced & refactored fork of symbols-outline.nvim.Code outline sidebar powered by LSP. Significantly enhanced & refactored fork of symbols-outline.nvim. - GitHub - hedyhli/outline.nvim: Code outline sidebar powered by LSP. Significantly enhan...
It's been several months since my initial symbols-outline.nvim fork decision post on reddit. It's continued to receive updates and fixes, and yesterday I've finally released the first, initial version of outline.nvim. The full details of all changes since fork detach, and since initial forking can be found in the changelog.
-
This week in NeoVim - LunarVim unmaintained, 30 vim commands you need to know, Discord chat inside Neovim, go test runners, hot reloading...
dotfyle.com LunarVim unmaintained, 30 vim commands you need to know, Discord chat inside Neovim, go test runners, hot reloading...This Week in Neovim 70 with news and updates from the Neovim plugin ecosystem and Neovim core.
-
Weird error in edit mode using nvchad
When im using the edit mode with nvchad, sometimes (especially when i press the space or enter keys) an error apear saying
Multiple different client offset_encodings detected, this is not supported yet
, any idea why does this happen? -
A use of Vim keybindings you might not have expected!
I was looking for a good generalist set of keybindings for my Steam Deck's onboard controls that bound all the letter keys and also the necessary commands to navigate web pages and manipulate files. There isn't any obvious layout to bind all the gamepad buttons, joysticks and touchpads to letter keys and keyboard commands/command chords, and further it feels like whatever solution you came up with would be impossible to memorize anyways.
Kind of a silly endeavor perhaps, but... touchscreen keyboards take up wayyyyy too much screen real estate on the Steam Deck, and further the pop up software keyboard sometimes doesn't behave right with software that isn't expecting a pop up touchscreen keyboard (i.e., not like a mobile app designed to handle one).
Then I randomly thought about Qutebrowser and vim keybindings... and I had an evil idea.....
I want to try using this with neovim as well, and I thought y'all might get a kick out of it lol!
edit errr, oooff I don't know how to get lemmy not to dump the text from my linked post completely unformated into this post
-
Configuring NeoVim as a Python IDE (2023) | Siddharta Govindaraj | Sun 07 May 2023
www.siddharta.me Configuring NeoVim as a Python IDE (2023)As I blogged about in the previous two articles, I recently updated my NeoVim configuration for the fourth time. Although it might sound like a...
Siddharta Govindaraj writes:
> As I blogged about in the previous two articles, I recently updated my NeoVim configuration for the fourth time. Although it might sound like a lot of config updates, keep in mind that it happened over a period of four years. > >- The first version was a port of my existing Vim configuration. Because NeoVim is backward compatible with Vim, you can just move the configuration over and it will work >- In the second version, I migrated my plugin manager to Packer. This config was a mix of old style Vim config and the newer NeoVim style with some plugins migrated to Lua equivalents >- Then I decided to go 100% Lua config and started using Kickstart.nvim and LazyVim. >- This fourth time around I used Kickstart and LazyVim as guides to write my own from scratch. > > You can find my NeoVim configuration on Github. > > In this article I am going to go through and explain my configuration step-by-step. I have a terrible memory, so this post will also serve as a guide when I inevitably need to look through this file in the future.
- github.com GitHub - letieu/btw.nvim: I use Neovim (BTW)
I use Neovim (BTW). Contribute to letieu/btw.nvim development by creating an account on GitHub.
btw.nvim
Show "I use Neovim (BTW)" when neovim opens. That's all you need. ___
Why bother with mini.starter, vim-startify, dashboard-nvim, or any of those distractions? I know you, my friend. Forget about all that noise – all you truly need is
I use Neovim (BTW)
. Embrace it proudly, and let your ego shine!Features
- Instant Ego Boost: Get greeted with "I use neovim (BTW)" on launch.
- I use Neovim (BTW): Show your ego to the world.
-
This week in NeoVim: fzf-lua temporarily taken down by GitHub, trouble.nvim v3 beta release, do-the-needful.nvim, SeshMgr.nvim...
dotfyle.com fzf-lua temporarily taken down by GitHub, trouble.nvim v3 beta release, do-the-needful.nvim, SeshMgr.nvim...This Week in Neovim 67 with news and updates from the Neovim plugin ecosystem and Neovim core.
-
An interesting story --- why 'Hekyll and Jekyll'? (what I call cursor keys)
This is an story I found in 'Learning vi and Vim Editors' --- which I started reading to 'vim-maxx':
Mary Ann Horton, who has been involved with Berkeley Unix since almost the begin‐ ning, tells the following story: While the vi experience was much like Notepad, it was also a very powerful editor. Students and faculty made heavy use of the power tools available, like the “global” command that would make the same change on all lines matching some pattern, or the ability to give commands like “delete 13 paragraphs” or “copy the text through the matching parenthesis.” But vi had a steep learning curve, and first-time users wanted to use the arrow keys on their terminals to move around in the file, Notepad style. Arrow keys didn’t work in vi, and for a very good reason. Users had a variety of different brands of terminals, and all those terminals’ arrow keys sent different codes when they were pressed. Bill [Joy] didn’t have to worry about arrow keys. He had found a way to work from home, getting a Lear-Siegler ADM-3A terminal in his apartment. The ADM-3A was widely advertised as “the dumb terminal” because it didn’t have a lot of fancy features, like arrow keys, allowing it to be sold for the then-low price of $995. Instead, LSI painted arrows on the H, J, K, and L keys.4 Bill had set up vi commands to match: h moved the cursor left, j down, k up, and l to the right. Every vi user had to learn h, j, k, and l to move around the file. What if you wanted to type a word with an “h” in it? vi, like ed, was a “moded” editor. This meant you were either in “command mode,” where it treated keys you pressed as commands, or “input mode,” where keystrokes were content to be added to the file. A command like i for “insert” put you in input mode, and the Escape ( ESC ) key got you back to command mode. How to get arrow keys to work in vi? These special keys sent two or three character sequences, usually beginning with Escape. We called them “escape sequences.” Escape, however, was already an important vi command. It took you out of input mode, and if you were already out of input mode, it beeped. One of the first things you learned in vi was that, if you’d forgotten which mode you were in, you pressed the ESC key until it beeped, and then you knew you were in command mode. vi used a terminal capability database file called “termcap,” which told it which codes, for your specific model terminal, to send to move the cursor, clear the screen, and the like. It was easy enough to add the arrow key sequences to termcap. If the computer received an Escape, was the user hitting the ESC key or an arrow key? Should the editor exit input mode, or should it wait for more text to interpret an arrow key? Once the editor tried to read more text, the program would hang until something came in. Fortunately, a new Unix feature allowed the editor to wait briefly to see if another character came in. If that character might be part of a valid escape sequence, vi could keep reading to see what other key the user had pressed. If no more characters came in for that brief interval, the user must have pressed the ESC key. Problem solved! Around the spring of 1979, I added code and termcap entries for vi to understand arrow keys, Home, Page-Up, and other keys that some of the terminals had. I configured termcap as if the ADM-3a had arrow keys that sent h, j, k, and l; and then I deleted the hardcoded h, j, k, and l commands. I thought I had it all fixed up. Within a day, I had a line of angry CS grad students outside my office door. Peter was at the head of the line. He wanted to know why I broke hjkl on his terminal. I explained to him that his arrow keys worked now, and he didn’t have to use hjkl; he could use the arrow keys instead. Peter rolled his eyes. “You don’t understand,” he said. “We like using hjkl! We’re touch typists. Our fingers are right over the hjkl keys. We don’t want to have to move them way to the edge of the keyboard to use arrow keys. Give us back our hjkl commands!” The line of students agreed. They were right. I put back hjkl and left the arrow key functionality in too. And I realized how important the key placements of vi commands were. Almost any command you used often was a lowercase letter. I got really fast with vi, and to this day I prefer vi to edit text files. I’ve trained several classes of IT professionals how to get the most out of vi and Unix power tools.
-
any colemak-dh users? i need some advice
im switching to colemak-dh and i need some advice.
im writing this with colemak-dh, beleive me its hard. whats even harder is the
hjkl
navigation. so should i remap it toneio
? you can consider me a long run guy, so your answers can be based on that.thanks in advance.
-
This week in NeoVim: Building a language server from scratch, Neovim component library and tailwind completion tools
dotfyle.com Building a language server from scratch, Neovim component library and tailwind completion toolsThis Week in Neovim 66 with news and updates from the Neovim plugin ecosystem and Neovim core.
-
NuiComponents - Showcase | A set of tools for creating user interfaces in Neovim, a library built on top of nui.nvim to make UI development in Neovim more accessible, intuitive, and enjoyable.
nui-components.grapp.dev NuiComponentsA feature-rich and highly customizable library for creating user interfaces in Neovim
-
This week in NeoVim: Sticky buffers in Neovim, new python LSP, managing language server ram usage and rest.nvim release
dotfyle.com Sticky buffers in Neovim, new python LSP, managing language server ram usage and rest.nvim releaseThis Week in Neovim 65 with news and updates from the Neovim plugin ecosystem and Neovim core.
-
DAP-UI default window layout?
Really enjoying nvim-dap-ui lately, but I always have to adjust the sizes of the windows. The docs have left me high and dry so far, but maybe one of you have a good solution for a consistent layout when you first attach to a file?