I suggest trying this one for Zsh, over the more common one: https://github.com/zdharma-continuum/fast-syntax-highlighting
As someone else said, setting less' jump value is helpful.
Another tool I use, mostly for the zshall manpage, is https://github.com/kristopolous/mansnip
Thanks, yes, I use nox and github actions for automated environments and testing in my own projects, and tox instead of nox when it's someone else's project. But for ad hoc, local and interactive multiple environments, I don't.
If it didn’t bring something more to the table, besides speed, no one would care
I'm literally saying its speed in certain operations makes an appreciable difference in my workflows, especially when operating on tens of venvs at a time. I don't know why you want to fight me on my own experience.
I'm not telling anyone who doesn't want to use uv to do so. Someone asked about motivation, and I shared mine.
The convention
That's one convention. I don't like it, I prefer to keep my venvs elsewhere. One reason is that it makes it simpler to maintain multiple venvs for a single project, using a different Python version for each, if I ever want to. It shouldn't matter to anyone else, as it's my environment, not some aspect of the shared repo. If I ever needed it there for some reason, I could always ln -s $VIRTUAL_ENV .venv
.
Learn pyenv
I have used pyenv. It's fine. These days I use mise instead, which I prefer. But neither of them dictate how I create and store venvs.
Shell scripts within Python packages is depreciated
I don't understand if what you're referencing relates to my comment.
I have a pip-tools wrapper thing that now optionally uses uv instead. Aside from doing the pip-tools things faster, the main advantage I've found, and what really motivated me to support and recommend uv with it, is that uv creates new venvs MUCH faster than python's venv module, which is really annoyingly slow for that operation.
I use my own Zsh project (zpy) to manage venvs stored like ~/.local/share/venvs/HASH-OF-PROJECT-PATH/venv
, so use zpy's vpy
function to launch a script with its associated Python executable ad-hoc, or add a full path shebang to the script with zpy's vpyshebang
function.
vpy and vpyshebang in the docs
If anyone else is a Zsh fan and has any questions, I'm more than happy to answer or demo.
From the author, on reddit:
Made a little mistake in there: you can create FDs with higher numbers using eg.
exec {fd}<>pipe
and they'll generate numbers above 10, plus the variables'll be better for scripting.
CLI flow: run command, print output below
TUI flow: navigate and interact with a layout that updates in place
I've never used Hy. Does it offer any concatenative-style interaction?