r_vim | Unsorted

Telegram-канал r_vim - r_vim

65

@r_channels

Subscribe to a channel

r_vim

I missed the milestone: Belated Happy 100 to the Awesome-Vim9 list
https://github.com/saccarosium/awesome-vim9

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

Читать полностью…

r_vim

You can actually use ":exit" instead of ":wq" or ":x" to exit Vim

Accidentally mixed up the Vim exit command with the terminal exit command exit, just to find that :exit actually works perfectly in Vim!

- :exit works exactly like :x.
- Saves only if the changes were made, then exits.

Probably the ultimate solution to the "How to exit Vim" problem.

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

Читать полностью…

r_vim

Vim plugins while :edit scp://

Recently I started using a containerised dev env. I would like to work in the host system so I installed a ssh server and followed the steps listed under :h ssh.

​

So far so good. I depend (for good or bad) heavily on vim fugitive and :FZF plugins. They are good. But they do not work on the host system inside a SCPed remote. I can use :find to open some remote file, it works. But using :G is an issue.

​

Question

\--------------

How do you use plugins while :e scp://user@host/path/dir/ ?

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

Читать полностью…

r_vim

Can't spell "revolution" without "vi"
https://redd.it/1uc521m
@r_vim

Читать полностью…

r_vim

Change text in second set of quotes

Cursor at beginning of line

blah "first quotes" more text "blah blah"

What's the easiest way change inside the second set of quotation marks?

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

Читать полностью…

r_vim

After a decade of Vim, I tried an VS Code for a year... and promptly came back. There's on place like $HOME
https://starikov.co/no-place-like-home/

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

Читать полностью…

r_vim

Modernized Python sections for Vim-in-Windows article.
https://github.com/ShayHill/article_install_vim_in_windows#vimspectorjson

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

Читать полностью…

r_vim

wiki.vim v0.12 released

wiki.vim is a Wiki plugin for Vim and neovim.

I've just finished a very long-standing issue: support for multi-line links. I think that warrants a new release (v0.12), so here you go: https://github.com/lervag/wiki.vim/releases/tag/v0.12.

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

Читать полностью…

r_vim

vim: How do I paste a second column so values stay aligned row-by-row

I have a table with two columns. I already pasted the first column, and now I want to paste the second column so that each value stays on the same row as its corresponding value from the first column.

For example:

Column 1:

A
B
C


Column 2:

1
2
3


Desired result:

A 1
B 2
C 3


I tried using Visual Block mode (Ctrl-v) and then pasting, but Vim pasted all the copied text together instead of distributing one value per line.

What is the correct, easiest & efficient way to do this ?

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

Читать полностью…

r_vim

The magic of vim macros - 10 Examples
https://www.youtube.com/watch?v=O7o_4F9wpls

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

Читать полностью…

r_vim

put: String Parsing Issue

Here, `echo` works fine, but `put` raises an error. Why?

AIM:

let s:key_handlers = #{
\ a: {-> execute('echo "a"')},
\ b: {-> execute('echo "b"')},
\ c: {-> execute('echo "c"')},
" ... fill d-z
\ }

APPROACH:

:echo join(map(split('defghijklmnopqrstuvwxyz', '\zs'), '"\\ ".v:val.": {-> execute(''echo \"" . v:val . "\"'')},"'), "\n")
:put =join(map(split('defghijklmnopqrstuvwxyz', '\zs'), '"\\ ".v:val.": {-> execute(''echo \"" . v:val . "\"'')},"'), "\n")

ISSUE:

E115: Missing single quote: '

⚠ SOLVED, courtesy u/LostAd6514

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

Читать полностью…

r_vim

Why does whichwrap recommend against using keys h/l?

Why does whichwrap recommend against using keys h/l in the docs?

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

Читать полностью…

r_vim

A convenient and easy to use replacement for built in explorer.

I never liked built in explorer, it's clunky and has annoying binds, so here is my own take on it, it uses a raw buffer to list files/directories, you use vi-motions to modify/create files/directories then apply changes to disk with :w, each file/directory has a given ID for tracking, there are bugs but it works pretty well for what it is.

It's more of a prototype than a replacement, but I'm curious what people think about it.

stqqrm/bex.vim

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

Читать полностью…

r_vim

Set indent to whatever the convention is?

Having strong opinions on indentation is nice, but I was wondering if I should stop and instead set indent levels to whatever the convention for the file type is, like 2 spaces for JS, 4 for Python, tabs for Go and so on

sleuth.vim and EditorConfig are certainly helping, but they are local to the project. Something like this would work:

autocmd FileType javascript setlocal expandtab tabstop=2 shiftwidth=2
autocmd FileType python setlocal expandtab tabstop=4 shiftwidth=4
autocmd FileType go setlocal noexpandtab tabstop=8 shiftwidth=8

But this is all manual and I was wondering if there is a plugin that consolidates it all or something like that?

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

Читать полностью…

r_vim

Yet another Vim IDE
https://francesco-mannella.github.io/vimide/

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

Читать полностью…

r_vim

I made a light mode theme of my previous Artemis2 inspired theme.
https://redd.it/1uk3r4t
@r_vim

Читать полностью…

r_vim

Opinionated TLDR for Windows users

After identifying [another speed bump for Windows users](https://github.com/vim/vim/issues/20413), I've added a TLDR to [Install Vim in Windows](https://github.com/ShayHill/article_install_vim_in_windows).

If you already have a setup you're happy with, these might help with any nagging issues.

* Install [PowerShell 7](https://github.com/PowerShell/PowerShell) \# Vim in PowerShell 5 and CMD are tougher. "My OS is my IDE" doesn't with WSL.

​

winget install Microsoft.PowerShell --source winget

* Install GNU zip and unzip # Plugins look for these

​

winget install GnuWin32.Zip GnuWin32.UnZip --source winget
[Environment]::SetEnvironmentVariable("PATH", "$($env:PATH);C:\Program Files (x86)\GnuWin32\bin", [EnvironmentVariableTarget]::User)

* Don't use the latest Copilot. Lock version at 1.4.1 or clone [ShayHill/copilot.vim](https://github.com/ShayHill/copilot.vim)
* in `vimrc` (in this order):

​

set shell=pwsh
set termguicolors
&t_8u = "\<Esc>[58:2::%lu:%lu:%lum" # fix spelling and `yegappan/lsp` error rendering

* Install [DejaVuSansMono.ttf](https://github.com/dejavu-fonts/dejavu-fonts/releases/tag/version_2_37) \# A fixed-width font with plenty of symbols and dotted 0
* in `gvimrc`:

&#8203;

set guifont=DejaVu_Sans_Mono:h10:cANSI:qDRAFT
set renderoptions=type:directx,gamma:1.0,geom:0,renmode:5,taamode:1 # better symbol colors

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

Читать полностью…

r_vim

Extract Secrets from Multiple Configuration Files Using Vim
https://www.secureideas.com/blog/extract-secrets-from-multiple-configuration-files-using-vim

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

Читать полностью…

r_vim

VimTeX: a history and some reflections

I've been wanting to write a blog post on VimTeX ever since I started blogging ~1-2 years ago. I finally got around to it, and I hope it might be interesting to some people here.

[VimTeX: a history and some reflections](
https://lervag.github.io/posts/reflections-on-vimtex/)

a Vim plugin for writing LaTeX documents.

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

Читать полностью…

r_vim

Resources to learn Vim

Hi guys, I recently heard about Vim and starting doing a bit of research on it. If I'm correct, its a non-GUI text editor that's blazing fast, and you DON'T have to use anything but your keyboard. This was pretty interesting to me.

I'm accustomed to the Visual Studio Code interface, and I don't want to leave it. Are there any extensions I can use to emulate the experience, and is the the best way to start?

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

Читать полностью…

r_vim

curl wrapper for vim

curl is an amazing tool to do REST API tests, which I do quite often using vim to generate actual curl commands. There are multiple ways to do it using vim, the one I have is

https://github.com/habamax/vim-curl


--url https://openlibrary.org/api/books?bibkeys=ISBN:0201558025,LCCN:93005405&amp;format=json

--url https://api.sunrise-sunset.org/json?lat=36.7201600&amp;lng=-4.4203400

# --jq is not curl parameter. If added, curl output would be piped through jq
--url https://httpbin.org/post
--header "Content-Type: application/json"
--jq
--data
{
"string": "hello world",
"number": 69,
"date": "2024-04-09"
}


Place a cursor on a text or select it and run :Curl to invoke curl cli command with an output in a built-in vim terminal.

https://asciinema.org/a/1257605



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

Читать полностью…

r_vim

What do you think of remapping : to the cmd window?

I'm asking because I feel like there might be downsides to this I'm not thinking of. A lot of users have ; mapped to :, I use ; to open a buffer list for switching. I have these keymappings to remap : to q:i to open the cmd window in insert mode, and press ESC in normal mode to exit the window:

nnoremap : q:i
autocmd CmdwinEnter * nnoremap <buffer> <ESC> :q<CR>


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

Читать полностью…

r_vim

as a beginner, I don't quite understand the goal of vimgolf

the challenge is fun, the whole vimgolf implementation is solid, but locking you out of the best solution seems to beat the purpose of using Vim as an effective tool, at least for the past challenges, I don't see the necessity of continuing lock, as a learner, we end up doing all the chores to slowly climb up to the lower score, the process itself is often tedious than rewarding, out of curiosity, I resorted to AI which lifted me up a couple of ranks, but I eventually hit one of the submission that's got a '<fd-6b>' in it, I haven't the faintest clue on how to jump over it hence being locked out of the rest of the better solutions, I still learned a few tricks but not knowing the better/clever solutions for such a tool like Vim makes me judge a second time on the general attitude of this community, for example, will I be shunned if I ask for the best solutions of the past challenges? after all, I want to use Vim as effective as I can with the reasonable amount of time I'm willing to invest.

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

Читать полностью…

r_vim

V.A. (update, a week later)
/r/vim/comments/1tz17s2/guys_ive_started_craving_vim_motions_on_the_shell/

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

Читать полностью…

r_vim

Has anyone used or though of using Neovide but with just regular vim?
https://redd.it/1u36rq3
@r_vim

Читать полностью…

r_vim

Vim: Snippet to Quickly Display RGBA Images

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

Читать полностью…

r_vim

Vim After 38 Years: Now It Can Display RGB/RGBA Images!

After nearly four decades, the legendary text editor Vim has gained native support for displaying images. You can now render RGB/RGBA images as popup window backgrounds (or inline where supported). It works across:

* Windows GDI
* GTK 3/4 canvas
* Terminal protocols like DRCS Sixel and Kitty
* Windows Terminal (out of the box)

The demo includes:

* A pigeon image displayed directly in Vim
* Video playback via ffmpeg
* A fun xeyes-style plugin where eyes follow your mouse cursor

Huge shoutout to the maintainers and contributors keeping Vim evolving.
\#Vim #TextEditor #Programming

https://preview.redd.it/bb4nviydvc6h1.png?width=961&amp;format=png&amp;auto=webp&amp;s=d19fb0d557981809088bfe5dd4f6493dec58b4fc

https://reddit.com/link/1u1ns8f/video/1jjv98wfvc6h1/player

https://reddit.com/link/1u1ns8f/video/wfnktjqjvc6h1/player



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

Читать полностью…

r_vim

Writing a custom syntax highlighting plugin

i want to make syntax highlighting for my custom PL in Vim, but writing Vimscript is surprisingly tedious...


built-in `:syn` is very quirky to use. i tried this from the manual:
:syntax region tolString start=+"+ skip=+\\\\"+ end=+"+

https://preview.redd.it/q107jb901c6h1.png?width=898&amp;format=png&amp;auto=webp&amp;s=f75eb4e228ec95ff1bbb6ac5370a56a60d036ae9

But it doesn't render in my terminal like i expected. Idk what i should do with this and how to make it work.
I've read `:help :syn-region` and `:help :syn-match` but they're not that clear...

Also: maybe i can just make a vim highlighting plugin from yacc grammar somehow? that would be neat...

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

Читать полностью…

r_vim

Yet Another VimIDE

VimIDE — a lightweight Python IDE built on Vim and tmux

GitHub: https://github.com/francesco-mannella/vimide

Platform: Linux only (untested on macOS/WSL)

I've been using Vim for years — first with screen, then switched to tmux — and this thing kind of grew on its own. Every time I needed something new I just added it, and at some point it became a proper setup worth sharing.

VimIDE wraps Vim in a persistent tmux session and lays out a multi-panel environment with everything I actually need in one place:

IPython REPL — send lines or selections straight from the buffer to an embedded IPython console
AI assistance — LLM support for code suggestions and explanations without leaving the editor
LaTeX support — I do a lot of academic writing alongside code, so this was a must for me
Terminal console — a dedicated pane for shell stuff, same session

The tmux layer means the whole layout survives disconnections and can be reattached whenever. Everything stays keyboard-driven, which felt like the right fit for a Vim-based setup.

Installation

git clone https://github.com/francesco-mannella/vimide
cd vimide
bash setup.sh

It's probably most useful if you do scientific or data-heavy Python work and don't want to leave the terminal for a GUI IDE. Happy to hear thoughts, and contributions are very welcome.

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

Читать полностью…

r_vim

Spellfile is an underrated feature

:h spellfile

You can add word spellings / ignore spelling errors with `zg` and add it to plain text file, in a list. You can easily edit that list to remove words added awhile ago, and of course save it in git. Without spending too long looking it up, it seems like many other editors don't have something like this, at least built-in. In many editors, including Electron-based apps, you can't easily backup spellings.

My config is in lua, I asked claude to convert it to vimscript to show you, it might have errors.

set spelllang=en_us

function! s:Mark(cmd) abort
let l:count = v:count > 0 ? v:count : ""
call feedkeys("mz" . l:count . a:cmd . "\<Esc>`z:delmarks z\<CR>", "n")
endfunction

for [s:lhs, s:cmd] in [
\ ["<leader>[z", "[sz="],
\ ["<leader>]z", "]sz="],
\ ["<leader>[s", "[s1z="],
\ ["<leader>]s", "]s1z="],
\ ["<leader>[g", "[szg"],
\ ["<leader>]g", "]szg"],
\ ]
execute 'noremap <silent> ' . s:lhs . ' <Cmd>call <SID>Mark("' . s:cmd . '")<CR>'
endfor
unlet s:lhs s:cmd

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

Читать полностью…
Subscribe to a channel