r_vim
70 subscribers
1.25K photos
60 videos
1 file
19.6K links
Download Telegram
The Awesome Vim9 list now supports GitHub and Codeberg links.

You can now add

https://github.com/user/repo

or

https://codeberg.org/user/repo

... links to contributions.md.

I will accept PRs (see CONTRIBUTING.md) for users wishing to add new Codeberg links or update their own GitHub links to Codeberg.

99 projects on the list as I write this.

https://github.com/saccarosium/awesome-vim9

https://redd.it/1rtn9nk
@r_vim
vim-format - a vimscript code formatter written in C++

I love tools like clang-format and black. I was not aware of any vimscript code formatter in existence, so I decided to make my own.

https://github.com/twcarbone/vim-format

https://redd.it/1rtid58
@r_vim
built an open-source tool to pair program without leaving vim

hey r/vim, i got tired of being told to "just use vs code liveshare" every time someone wanted to pair, so i built shadow.

it works at the filesystem level — syncs file changes over an encrypted websocket connection. no vim plugin needed, it just picks up your writes automatically.

start a session, share a link, your partner joins in whatever editor they use. both of you edit live.

e2e encrypted (server never sees your code)
CLI tool (works on any OS) + mac menu bar app
free and open-source (MIT)
works for pair programming, code reviews, mock interviews

github: https://github.com/go-johnnyhe/shadow

would love feedback from vim users.

https://redd.it/1rt1b2h
@r_vim
Gruber-Darker Theme Port For Vim

Hey r/vim,

I’ve spent the last 3 years jumping between C++, Rust, Java, and C#, and I finally got tired of "rainbow-puke" themes that distract me from the logic.

I've always loved the Gruber Darker palette (originally by Jason Blevins and Alexey Kutepov, also known as Tsoding or rexim, made for GNU Emacs), so I built a faithful, robust, highly configurable, pixel perfect Vim port that focuses on readability and zero-distraction.

Why use this?

Low-level friendly: Great contrast for pointers, macros, and memory management in C/C++/Rust.
No unnecessary bloat: Just a clean .vim file.
Multi-plugin support: This port supports Airline, Lightline, and also has support for most Plugin Managers.
Mahoosive Help Documentation: I have written a very detailed and brief help documentation on this theme of a total of 1472 lines. Check the repo for more details.

Screenshot:

https://preview.redd.it/veexqthc77qg1.png?width=1918&format=png&auto=webp&s=8da29ca4c64c37fc82425218279a724cfcf3315f

Repo: https://github.com/ThunderBoltCODMYT/gruber-darker.vim

I'd love to hear what you guys think, especially if you spend 8+ hours a day in the terminal. Issues and Discussions are also open on the github repo, maybe if you want to suggest some features or find some bugs, I'll be happy to fix them!

https://redd.it/1ryvk9d
@r_vim
Is there an easy way to change the color of specific characters.

In monospaced fonts far too many characters look alike, dashes and hyphens, and the dashes different lengths are some examples. Same for spaces. Also the breaking status. I'd like to mark them with color. Is there a simple way to do this.

https://redd.it/1rzadg3
@r_vim
Formating tables : Some weird vimscript bug

Hello everybody,

I am currently trying to write a vimscript to act on a visual range.

**Here is the whole idea :**

1. I filter visual selection through pandoc command (not relevant here I think, but it transforms my multiline-table markdown table to simple line)
2. because I lost visual selection (and because a:lastline is now wrong), i select my table again
3. I remove the === and --- lines.

**Here is the following script :**

1: function! FuncFormatPandocTable()
2: '<,'>!pandoc -t markdown-multiline_tables --wrap=none -o -
3: endfunction
4:
5: function! FuncFormatListTable()
6: call FuncFormatPandocTable()
7: normal vip
8: '<,'>g/^[ =+-]*$/d
9: endfunction

**Here is the problem :**
The full script doesnt work.

1. If i comment line 8, I do have my table formated and the (new) table is selected.
2. If i comment line 6, I do have my '===' and '---' lines removed.
3. I can not chain both, for some mysterious reason

Does somebody can explain this sorcery to me ?

https://redd.it/1ryy8wm
@r_vim
Vim 9

Wow, I did not realize Vim 9 was out. I've used Vi/Vim since the early 90's and used plugins for MS Word and Outlook integration. Don't use Vim for work now (no more work :>, I'm old!) but still use it for any personal text editing. When I do need to edit without Vim, it's painful. It's mainly Thunderbird I would want Vim integration.

So, not saying much other than thank you to all of you keeping Vim alive and well.

https://redd.it/1s5qrip
@r_vim
I wrote a buffer switcher plugin

https://github.com/nonrice/bpick

This is the first plugin i wrote. You can just press a hotkey and type a digit to switch. I think it is superior to the other buffer switching methods i found. I am happy using it so far :)

https://redd.it/1s5p82o
@r_vim
I made a site that explains the core concepts of Vim in plain English.

I created a site that teaches Vim from scratch. It’s still a work in progress, but there's already enough content to be helpful. There's also a section for advanced users.

https://redd.it/1s56lwn
@r_vim
Maps that changed my workflow

If you're a user who doesn't remap certain keys because you spend time SSH'd into servers with no customization, feel free to skip this. No need to bang that drum. I personally have no trouble switching between custom and default maps. I upload a .vimrc to all my servers anyways.

The most impactful trick is remapping Caps Lock as ESC for easy access. This isn't a vim trick, and is done at the OS level. There's opinions around whether Caps Lock should be another CTRL key instead. I like CTRL where it is. Sometimes I'll switch the left WIN and CTRL to make CTRL easier to reach (depending on the keyboard). Shift + Caps Lock becomes the actual Caps Lock and now you have an easy to reach ESC for every program on your computer!

The first Vim mapping trick is setting the leader key to , which is easy to reach. You may think because , is already the reverse command, this is a bad idea, however this sets us up for the next trick.
set g:mapleader = ','


Next is mapping <Space> to : for command-line mode. Considering the command-line is often used, tapping spacebar is much easier. This frees up : for mapping to , and bingo, we have our reverse command back. Having repeat and reverse on the same physical key with ; and : makes sense (to me).
nnoremap <Space> :
nnoremap : ,


Another trick is mapping K to i<CR><Esc> for spliting a line at the cursor. This makes sense for two reasons. First, I use this wayyy more than the help command which can be mapped elsewhere. Second, having J as join line and K as split line makes more sense, no? I think so.
nnoremap K i<CR><Esc>


The next trick is using <Leader> with any command that normally puts/pulls text to/from the unnamed register so it instead uses register 0. This prevents text from getting wiped out by another command and stores it for later.
nnoremap <Leader>d  "0d
nnoremap <Leader>dd "0dd
nnoremap <Leader>D "0D
nnoremap <Leader>c "0c
nnoremap <Leader>cc "0cc
nnoremap <Leader>C "0C
nnoremap <Leader>y "0y
nnoremap <Leader>yy "0yy
nnoremap <Leader>Y "0y$
nnoremap <Leader>p "0p
nnoremap <Leader>P "0P

vnoremap <Leader>d "0d
vnoremap <Leader>D "0D
vnoremap <Leader>c "0c
vnoremap <Leader>C "0C
vnoremap <Leader>s "0s
vnoremap <Leader>y "0y
vnoremap <Leader>p "0p


If people find these useful I may share more tricks. These are ones that majorly affect the usability of Vim for me.

https://redd.it/1s4gvdj
@r_vim
Long-term maintenance of Vim 8.x, free of generative AI
https://sr.ht/~sircmpwn/vim-classic/

https://redd.it/1s431nl
@r_vim
Weird colour changing behaviour of cursor

Any idea what is causing this?

Things that might be relevant -

Plugins I use: auto-pairs, vim-closetag
i have "filetype plugin indent on" in my .vimrc

https://redd.it/1s3ivl3
@r_vim
Vim plugin for browsing throught the past claude code discussions

Claude Code's UI is terrible. This plugin lets you browse the discussions directly in vim. That's it.

https://github.com/serpent7776/viclaude

https://redd.it/1s1v5dx
@r_vim
Does GVim Run Natively on Wayland, or Via XWayland?

I'm a little confused because the GVim package on Fedora is called vim-x11 (and if you try to install gvim it treats it as an alias to vim-x11) however the text on :help gui-wayland says that support for Wayland arrived with version 9.1.0064.

https://redd.it/1s1qyoh
@r_vim