r_vim – Telegram
r_vim
72 subscribers
1.24K photos
52 videos
1 file
19.5K links
Download Telegram
How to get Vimium to work on all tabs

Mostly just wanting to cycle between all tabs, for example PDF's, Gmail and New Tabs don't work on Firefox because the browser doesn't seem to allow me to use extensions / noscripts on those ones, any advice to get around this so I can use Shift + (J or K) to cycle tabs.

https://redd.it/1p9xb9e
@r_vim
VimTex 'Compiler did not start successfully!' error

Hey y'all! I'm having a terrible time trying to get VimTex to compile my .tex file. I can compile it fine in the command prompt using latexmk -pdf but when I use the vimtex-compile command I get the output below.

It's weird because it tells me the file name of the file it apparently can't find and lists it when I use the vimtex-info command? I can change the name of the file and it'll print that name whether it is 'main' or 'test' or whatever. Could VimTex not be passing the file location correctly to latexmk? How could fix that if that is the case? Additionally, when I run VimtexCompileSS it says compilation completed but no new files are produced anywhere.

I've tried searching everywhere and I can't find anyone having this issue. I'm guessing I just missed something super simple somewhere as I'm just trying to jump into vim and LaTex as of today. Any help or pointers would be greatly appreciated.

This is my first time actually making a post asking for help so not sure if this is a good place. Would it be better if I took this issue to the VimTex Github?



Output when I run vimtex-compile:

Initial Win CP for (console input, console output, system): (CP437, CP65001, CP1252)
I changed them all to CP1252
Rc files read:
NONE
Latexmk: This is Latexmk, John Collins, 15 June 2025. Version 4.87.

------------
Latexmk: Could not find file ''main.tex''.
-- Use the -f option to force complete processing.
Reverting Windows console CPs to (in,out) = (437,65001)



Information given by vimtex-info:

VimTeX project: main
base: main.tex
root: C:\Users\user\vimfiles\LatexProjects
tex: C:\Users\user\vimfiles\LatexProjects/main.tex
main parser: current file verified
document class: article
document class options:
compiler: latexmk
engine: -pdf
options:
-verbose
-file-line-error
-synctex=1
-interaction=nonstopmode
callback: 1
continuous: 1
executable: latexmk
viewer: General
qf method: LaTeX logfile

https://redd.it/1paarvj
@r_vim
NERDTree -- how to descend into a directory?

Perhaps it's an oversight on my part, but in spite of having looked at the built-in help page, looked around on the web, and read a handful of Reddit threads that seemed to be somewhat relevant, I can't figure out how to do a very simple thing, namely how to descend into a subdirectory when navigating with NERDTree.

By descending into a subdirectory, I mean that NERDTree would take that subdirectory as the new root of the tree it's showing, and redraw based on that. I am of course aware of "e" and "t", but those open the subdir in another window or new tab respectively. I'm looking for the functionality that does what "e" and "t" do but in the same NERDTree window that I'm already in.

I find it puzzling that this functionality -- which is surely elementary for a file-system navigator, right? -- would be so difficult to find. But hey, maybe it's me and it's right there in my face and I'm just not seeing it. Do let me know.

https://redd.it/1pagai1
@r_vim
HACK: vim using terminal app window panes and git repo aware viminfo contexts

In case anyone else is interested. I've setup my terminal workflow to use my terminal app window panes rather than vims and have "project" viminfo context based on git repos. I use ghostty, so I can create a new pane via "<meta-D>e<Enter>" where "<meta-D>" creates a new pane and "e" is a bash alias that restores the previous vim file/line of the same git repo (which has an acceptable keystroke count for me). Viminfo files are copied depending on the git repo your in, so yank/jump lists are specific to that context.

I've added these hacks to my vimrc/zshrc:

vimrc:

nn <C-w>v :echo "disabled"<CR>
nn <C-w>s :echo "disabled"<CR>


" git directory aware vim contexts. Preserves viminfo and jumps in each git repro
fu! GitPath() " Get git file path and hash it to map filenames to repros
let dir = trim(system('git rev-parse --show-toplevel 2>/dev/null'))
return '/tmp/'.(v:shell_error ? 'global' : trim(system('echo ' . dir . ' | md5')))
endf
fu! OnBlur() " write git repo aware viminfo
let f=GitPath()
exe 'wviminfo! '.f.'.viminfo'
call writefile([expand('%:p').":".line('.')], f.'.file')
endf
fu! OnFocus() " write last opened file in repo and restore git aware viminfo.
sil! exe 'rviminfo! '.GitPath().'.viminfo'
endf
fu! OnEnter() " open last opened file in repo and restore git aware viminfo
let f=GitPath()
if get(argv(), 0) == 'restore' && filereadable(f.'.file')
let [p, l] = split(readfile(f.'.file')[0], ':')
exe 'e '.p | call cursor(l, 0) | filetype detect
endif
sil! exe 'rviminfo! '.f.'.viminfo'
endf
au TextYankPost,VimLeave,FocusLost * call OnBlur()
au FocusGained * call OnFocus()
au VimEnter * call OnEnter()

zshrc:
`alias e='vim restore'`

`alias E='vim -c "Explore"'`



https://redd.it/1paxe3v
@r_vim
gitlog-vim a wrapper to view git logs without plugins

took me a while to tidy it up to this level of polish but here it is, it may be a small wrapper but it provides a lot of functionality for those that are constantly checking the git logs and wish to view them inside vim (or neovim).

https://github.com/eylles/gitlog-vim

https://redd.it/1pb45a5
@r_vim
vim9noscript style guide?

I've stumbled on the google vimnoscript style guide a while back

https://google.github.io/styleguide/vimnoscriptguide.xml

Was wondering if there was a vim9noscript version that anyone was working on that I might just have failed to find on github / elsewhere on the internet?


Don't want to go too far down the path but figure I'd ask the community here since tree-sitter grammar not properly defining vim9noscript syntax and the realities of there not being a ton of folks writing it


\----

For my part I'd be happy to take a stab at the first pass of some sort of guide that could serve as a spiritual successor to the google vimnoscript guide (casual in nature)

https://github.com/DanBradbury/vim9noscript-style-guide

https://redd.it/1pb5f4m
@r_vim
How does vimwiki work?

I need a program/plugin that will go over a file (markdown, html, whatever) and either insert hyperlinks to all other files ("articles") that i have either after command/keybind or will do it automatically when i save.

Basically every word that is a name of a file/"article" becomes hyperlink.

Can vimwiki do that?

https://redd.it/1pbdlzx
@r_vim
Vim shortcuts in Android Studio

When using Vim in the terminal, I can visually select an arbitrary (continuous) set of lines and do z-f to create a new fold consisting of those lines.

While using the Vim plugin on Android Studio, I can fold things like class/function definitions using z-c and open them using z-o. This is already quite helpful. But I do not seem to be able to create new folds involving an arbitrary set of lines. For example, I might want to fold a group of commented out lines or fold up a long multi-line list of parameters. Also, doing something like z-UP doesn't work.

1. Is there a way to enable this kind of functionality?

1. Is there an rc or config file I can edit to make these things happen? What changes do I need to make to the config file?

I tried asking this in the Android Studio sub, but got zero responses.

https://redd.it/1pc1kfg
@r_vim
vim + ollama + oh-my-zsh + alacritty + dotfiles better than Cursor xD

vim

Is that better than Cursor or?


Dotfiles: https://github.com/the-homeless-god/dotfiles

Features:

\- ollama tab suggestions & chat panel

\- right panel

\- search via ripgrep + fzf

https://preview.redd.it/h3dljqj0e15g1.png?width=1920&format=png&auto=webp&s=5980c8106de8f9208fbaa8e8655cd0d88ced358c

\- lf for folder navigation

\- transparency by alacritty

https://preview.redd.it/jv9lqjoge15g1.png?width=1920&format=png&auto=webp&s=a02cf11546b200b815c30834c20c1084e8a6a93c

\- right click context menu

https://preview.redd.it/9bx8xx3me15g1.png?width=1920&format=png&auto=webp&s=0550a786df742a0db5a1a24ea706c57e5bf3a78f

\- .vimrc segregated by sections to edit, a lot of stuff commented across years :D


and a lot of other plugins

CI:

\- docker building with publishing to registry

\- noscripts to install everything with interactive way & brew

./install-tools.sh --interactive

https://preview.redd.it/wq005lp3f15g1.png?width=1920&format=png&auto=webp&s=ebfb27d24a8d025865021004e647321e9d58957f

I think later will share distribution using another OS, here MacOS as example, but I think someone searched for it.

https://redd.it/1pddj26
@r_vim
Pointers to making Universal Ctags work with the latest versions of Scheme (r6rs and r7rs)

If there is a better place to post this, please let me know, I am not super familiar with ctags, and I did see some mentions of using it here.

I used it with some older styles of scheme and it seemed to work just fine. In these versions, you either just load a file, or if they have a module system it just has a declaration at the top, and then the procedures are defined at that same top level, like:

(module (example)
(import ...)
(export ...))
(define (proc n) ...)

and ctags finds proc here, but in the r6 and r7 style the procedures are inside the library definition like:

(library (example)
(export ...)
(import ...)
(define (proc n) ...))

and ctags is not finding the procedures

https://redd.it/1peox0s
@r_vim
How to take yegappan/lsp for a quick spin (Windows / Vim9Script / Pyright)

I have been using vim-lsp for few years. I wanted to take yegappan/lsp for a test drive, but hit a few speed bumps. Posting notes here so you can do this in 5 minutes instead of half an hour if you choose to do the same.

Using minpac and Vim9Script, I had to use a slightly different config setup.

var lspServers = [
{
name: 'pyright',
filetype: ['python'],
path: 'pyright-langserver',
args: ['--stdio'],
workspaceConfig: {
python: {
pythonPath: expand('$HOME/AppData/Local/Programs/Python/Python312/python.exe')
}
},
}
]
autocmd User LspSetup lsp#lsp#AddServer(lspServers)

var lspOptions = {
highlightDiagInline: false
}
lsp#options#OptionsSet(lspOptions)


highlightDiagInline: false does what you'd think: removes highlighting over the specific symbols that are causing a problem. That is unfortunately necessary for me, because the highlighting clobbered habamax and sorbet, my preferred dark colorschemes.

I also got thrown by the path argument to lspServers, assuming I could link to the servers vim-lsp downloaded to ~\AppData\Local\vim-lsp-settings\servers. That isn't how it works. I had to install pyright-langserver with

npm install -g pyright


### Short-term reactions

Hard to say much, because Python language servers don't provide a ton of features: no snippets or semantic highlighting. yegappan/lsp is definitely snappier, but has the Pyright-specific downside of not displaying error codes. vim-lsp :DocumentDiagnostics reveals Pyright codes like reportPrivateUsage so you can silence them. yegappan/lsp :LspDiag show shows Pyright error messages but does not reveal codes.

The colorscheme chaos is another downside, but I haven't tried to isolate that problem. Some colorschemes work well, others don't, but the conflict might be due to something else in my config.

I'll keep it for a few weeks or months and get a better idea which I prefer.

https://redd.it/1phe0j6
@r_vim
How do folks feel about popups vs quickfix / custom buffers?

I'll preface this with a call out of my own personal biases as a gvim / vim user who does not use nvim unless I'm really desperate to try some plugin hotness..

\---

I've played with lazyvim \+ other neovim plugin packs before (kickstart.nvim) and noticed that the plugin writers have fully embraced the UI through popups/other nvim mechanisms to draw directly over the active window.

I'm wondering what yalls thoughts are on the use of popups / toggleable UIs instead vs quickfix / classic custom buffers


I'll share 2 examples of what I've been looking at as inspiration for implementing PoCs of in vim9noscript since I've been surprised by how much modern developers love the IDE feel when transitioning from VSCode to vim as their daily driver.

\----

telescope.nvim

https://preview.redd.it/sosy7v2d4y5g1.png?width=1760&format=png&auto=webp&s=ffa8b5a2f9bb784b87853df9dbae0ad4abe1f495

harpoon

https://preview.redd.it/zvbtw7ku4y5g1.png?width=998&format=png&auto=webp&s=2b463feb3a3f31e781720a0533747ec0ae05e800






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