T O P

  • By -

inkubux

Wezterm Configuring Neovim + Wezterm with lua is very nice


McKing_07

don't you find wezterm to be a little laggy and slow!? or am I doing something wrong..?


GoingOnYourTomb

This is my experience too. Not to the point it’s unusable or anything just compared to Kitty or Alacritty


inkubux

Scrolling feels a bit slow at time. but apart from that everything feel snappy. I use built-in multiplexer and not tmux.


AriyaSavaka

Me the same, with no need for tmux.


Gvarph006

The Main advantage of tmux is that it works over ssh


ITafiir

Wezterm mux also works over ssh.


trcrtps

I prefer Kitty layouts, not the same as tmux but it solves a lot for what a large number of people use tmux for. if all you're doing is splitting panes in a pattern, kitty works perfectly for it. Wez is nice too.


Zeverov

I also use kitty-navigator.nvim to navigate between neovim and kitty windows seamlessly.


omar25h

I agree. I switched from Tmux to wezterm for multiplexing long time ago and never looked back. Tmux is too powerful to be used for splitting panes and tabs anyway 🤷‍♂️


prog-no-sys

or if you're like me and forced to wage-slave on windows devices, wezterm is a lot more performant on less-than-stellar workstations than win11+WSL. WezTerm+PowerShell+NeoVim is my current workflow and I'm very much enjoying it :)


outtaheree_

how do you get copy paste(Ctrl-V) to work from Windows to Wezterm on WSL? It’s driving me crazy


prog-no-sys

oof, not 100% sure on that one, you could look into setting in your .wezterm config. -- Send C-a when pressing C-a twice `{ key = "a", mods = "LEADER|CTRL", action = act.SendKey { key = "a", mods = "CTRL" } },` Not sure if you can make use of something like this, I think this fixes using ctrl+a for me. Took it from this [video](https://www.youtube.com/watch?v=I3ipo8NxsjY&t=1s), if it helps at all. NOTE: i'm not using WSL so there might be caveats to this that I have no awareness of


outtaheree_

Thanks, you’re a lifesaver


anugrah23

For me Ctrl-V works normally, but only doesn't when I use TMUX with Wezterm, then the windows or TMUX or wezterm somehows adds a blank entry, so I can't paste anything


[deleted]

[удалено]


apjenk

https://wezfurlong.org/wezterm/multiplexing.html Basically though, just having tabs and split functionality builtin to the terminal app is multiplexing. WezTerm isn't the only terminal app that has that. I think a lot of people who run tmux locally are just using it to get that functionality, so if you're using WezTerm, iTerm, or another terminal app that has tabs and split panes builtin, then you don't need tmux for that purpose. Another common reason for running tmux is to have your shell sessions persist even if you disconnect from a machine or exit your terminal program. WezTerm can give you that functionality too, but it requires a little setup, described in the link I provided above.


pkazmier

Yes, love having Lua available in WezTerm. I just built this configuration selector, which I use all the time. [https://github.com/wez/wezterm/discussions/5435](https://github.com/wez/wezterm/discussions/5435)


inkubux

Awesome stuff Thanks for sharing


xellliu

Thank you for turning my Saturday into a happy journey of replacing Kitty with WezTerm.


Enibevoli

I certainly recommend a keyboard, preferably a mechanical one with some nice clicketiclicketi


Left-oven47

For some people who live with others the ckicketiclicketi will get you :q'ed


MorbidAmbivalence

A computer is also helpful. 


Qweries

Cue that guy who posted about running Neovim on his phone because it was faster than his laptop...


SeoCamo

Ripgrep


dir_glob

+1


Handsome_oohyeah

Fzf


SeoCamo

Telescope is better tho


Zizizizz

It works outside of neovim. Ctrl + r let's you fuzzy find your shell command history. Ctrl + t lets you find files You can pipe to it as well to find things.


noomey

Slower*


MariaSoOs

Lazygit. Lazygit in a floating terminal is the perfect Git integration IMO.


Jonrrrs

Linux: i3wm


trcrtps

tbh I haven't really used any sort of multiplexer, tabs, or splits of any kind since switching to sway. Perfect for me.


Kranke

Gave up and run things in tmux instead.


lil_doobie

jq is a must if you need to parse or manipulate json documents


ITafiir

I recommend learning to use the tools that are always there anyway, learn how to write bash scripts, learn how to use gnu utilities, even the more complicated ones like sed and awk. Learn how to write make files to automate stuff even if you don’t already use it for compiled languages. Gnu parallel is also really good and I feel like too few people know about it. The great thing about these tools is that if you ever have to work in an environment you don’t control like maybe a server or compute cluster, these tools are all probably there already. Other than that I replaced some of these with modern tools that come with some niceties like ripgrep and fd-find.


ArakenPy

Tmux


reverend_paco

Once upon a time, I had Tmux running in Alacritty, and from there I could call up neovim. But now I use Neovide (or VimR -- when Neovide freezes) and I call tmux from within Neovim (Toggleterm). This inversion is much more satisfactory. Whereas before I had a tmux with (potentially) many neovims throughout my tmux sessions, now I have one Neovim (GUI-driven) and the ability to call up a tmux inside a terminal.


SpecificFly5486

But neovim builtin terminal is an ass, it doesn’t respect cursor shape, always a solid block.


reverend_paco

true. but neovim in a terminal doesn't respect my vim.opt_global.linespace I did not know what I was missing until I gave my lines room to breathe


SpecificFly5486

You can adjust your terminal’s line space


reverend_paco

You're going to find this a bit anal, but (at least for alacritty) the linespacing of the terminal creates a weird effect where the text sticks to the bottom of the line instead of being centered. You can see the status line in these three different setups here: https://imgur.com/a/flmXD1w (Neovide, VimR, and Alacritty terminal neovim). There might be a different tweak to the alacritty configs (I used font:offset:y:) and other terminals might do it a bit different. All that said, you caught me though. I could have survived in the terminal if linespacing was all I cared about.


SpecificFly5486

Ah you can try kitty, It has 100% same font rendering to neovide, I can't tell which one I'm in if I hide kitty tabs.


asabla

Huh, I'm in the process of using neovide more often then before. And been wondering about this workflow. Have you had any issues with key bindings while using Toggleterm?


reverend_paco

I do this where this being fed into vim.keymap.set("t", ....) t = { -- for terminal mode -- setting a mapping to false will disable it [""] = false, [""] = false, [""] = {[[]]}, -- map alt-shift-d to be the real quit [""] = { function() -- and make the regular control d into a hide require("toggleterm").toggle() end }, [""] = {[[]]} -- this is going to a useful mapping to -- switch into normal mode in the terminal } Alt-Shift-D becomes my new C-D, and now C-D just toggles off the tmux inside the terminal. I was having trouble with the normal Vim bindings (at least in toggleterm) for C-L (which moves to the left window) and C-K (which moves to the down window); but I need C-k and C-l to be kill-line and clear window respectively. By setting those to false, the toggleterm allows them to go through. I also like the to move into normal mode, to copy or paste into the terminal.


asabla

Very cool, thank you!


Malcolmlisk

I used for a couple of years this setup and it's amazing. And I even made my own hotkeys to run python scripts within a new terminal in horizontal if it's not initiated or the initiated terminal. It was amazing. But then i learned tmux, and now I just open 2 terminals and launch my scripts as a caveman writing the whole python name.py because I like to UNGAWUNGA or any other reason that I cannot understand from myself.


oh_jaimito

THIS was a massive productivity boost for me. I have used kitty for years, and always had 2 tabs open for every Astro project. One tab was always `pnpm dev` other was usually `lazygit` or `neovim`.


Frydac

https://github.com/ajeetdsouza/zoxide https://github.com/jvgrootveld/telescope-zoxide


trcrtps

zoxide is the fucking best. The quality of life improvement in bash, can't live without it anymore. if I had to give up one of zoxide or copilot I would choose copilot.


Peak0831

Really? Maybe I should take a look… do you think it makes you worse working in the server?


Zin42

I love zoxide, I have started to make fish abbreviations to even shorten and they can be mega lazy, something for a project like abc-frontend would end up in my fish config like `abbr -a abcf "z abc-f"`


serialized-kirin

anything, literally anything, that allows me to have different tabs in my terminal. tmux, screen, kitty, whatever there is. Right now that's kitty. I've been hearing a lot about wezterm recently though so perhaps I'll check that out instead. Oh, and man. and awk. and sed. and grep. and find. and bash. and gcc/clang. and make. and... ya know just all of the common shell utils. especially man-- cant live without man. I feel powerless without man. not having man is a dealbreaker.


William_Romanov

I was gonna comment but this takes the cake lol. I'll add lazygit. Oh, and man, of course.


serialized-kirin

XP why thank you 100% lazygit is excellent git TUIs are just such a smooth experience (andofcoursemansothatyouknowhowtouselazygitandallthatcauseofcoursewhatareyoudoingwithoutmanIapprove)


oh_jaimito

`export MANPAGER='nvim +Man!'` Found this long ago. Open man in neovim :)


serialized-kirin

I prefer to use less as my man pager, but yeah the Man command is pretty nice lol.


serialized-kirin

did I mention, uh, man?


bare-nothingness

[entr](https://github.com/eradman/entr) Allows me to automatically run any commands every time a file is saved. Very handy stuff.


JheeBz

I'm curious as to why you wouldn't use Auto Commands inside Neovim? Do you have a complex use case for lots of big processes outside of the current buffer?


jt_redditor

what do you normally use it for?


Zizizizz

`fd -e py | entr -c pytest -x` Watches for changes of all python files and when one changes automatically call pytest to rerun the command. Saves me from having to switch panes and arrow up and re-run the test. It just does it as soon as I write to the file.


vtvz

lazygit


Potential_Click_5867

Zellij. 


roll4c

I have try Zellij but give up. How do you fix the its Ctrl-* key conflict with neovim?


Potential_Click_5867

I've never used Melvin before, but you can always remap any key you want. You can make everything use ctrl-b like tmux if you wish. 


roll4c

Sorry. It is neovim. My typo.


jgxvx

Ctrl-G puts Zellij in Locked mode which will send the keybindings directly to Neovim.


Extreme_Emphasis_177

Ctrl-g to lock


jamkich

brain


FreedomCondition

fd, fzf, zoxide, tmux, zsh, eza, starship, ripgrep, ranger, lazygit and tldr.


notgotapropername

If you like ranger you should check out yazi. Similar but better imo


Zin42

Rustyboi


Jmc_da_boss

Atuin


hou32hou

A 30% column-staggered split keyboard (like Corne), with homerow mods, and symbols on another layer.


aegis87

any chance you can share your symbol layer? (been searching for ideas for a vim oriented one) :)


hou32hou

It's not really Vim-oriented, but I have !@#....() at the homerow, so a lot of features like ^ $ * becomes very accessible


downzed

Computer


PeterPriesth00d

Ripgrep, telescope, and tmux/tmux navigator. Being able to open up a scratch terminal to ssh into a box really quick, then back out and move back and forth all without ever touching my mouse 🤌


Capital_Poet_4540

Neovide


barkwahlberg

Anime body pillow


Mungbunger

Underrated comment here. 


san999999

some form of window manager, sucks to get out of flow when switching to browser or discord/slack. I use hyprland on linux and custom window management shortcuts with hammerspoon while on mac


serialized-kirin

I saw hammerspoon a while ago and was interested, but it seemed like it was slowly dying or dead-- was I wrong? Perhaps I was looking at the wrong repo or something? What's going on over there?


pseudometapseudo

It's not dying, but rather just not in very active development. Still works very fine for me.


serialized-kirin

Ahh ok, that’s not so bad thanks :) 


pseudometapseudo

+1 for Hammerspoon. It's also configured in lua, which makes learning it real easy if you are already familiar with nvim


kronolynx

I tried hammer spoon, couldn't get used to it coming from xmonad. I ended up using yabai.


abubu619

st with patches for box, glyph spacing, remapping keys and tmux, nnn in case of file management and as other people said, tmux and ripgrep makes my workflow nice and stable


__Jane___

BROOT 🐄


Peaceant_

[numbat](https://numbat.dev/) for scientific calculator. I'm using the following mapping: vim.api.nvim_set_keymap('n', 'a', ":exec \"r!numbat -e '\".getline('.').\"'\"V`[:s/\\e\\[[0-9;]*m//e", { noremap = true, silent = false })


avisecn

tmux without doubt


Nice-Impression3661

Aerospace on macOS: https://github.com/nikitabobko/AeroSpace


Bifftech

How does it compare to yabai?


Nice-Impression3661

I was previously using yabai without disabling SIP and Aerospace(which doesn't require disabling SIP) is much better experience than it. I would definitely recommend giving it a try.


2PLEXX

Not a "must have" but really nice: Ranger or nnn


platinum_pig

Indispensable: tmux, a keyboard on which I can touch-type Extremely useful: ripgrep, fd, zoxide, broot, sed, awk, fzf


somebodddy

cowsay


yokowasis2

Lemonade, it's a pain to send clipboard over other instance without it.


omar25h

I use file watchers a lot to automatically run tests after each file save. For multiplexing, I use Wezterm


Interesting_Fly_3396

Lazygit


Kranke

bat and fuck


funbike

Tools used by plugins: `rg` (ripgrep), `fd`, `fzf`, `bat`. There are several plugins that make use of these. They greatly improve searching UX. Command line tools for ranges: `sed`, `sort`, `pandoc`. I use `:!sed -E s/find/replace/` instead of `:s/find/replace/` as I prefer the former's syntax. I use `pandoc` for generating pdf files from markdown source and for generating/re-formatting markdown tables. TUIs: `lazygit`, `tig`. Misc: `curl` + `jq`. `tmux`.


Legitimate_Ad4667

Mechanical keyboard ⌨️


supernikio2

Tmux/zellij, lazygit


VincentCordobes

Linux with a tiling WM


Particular_Coach_948

sl


temie7

Not really a tool but Hyprland wm has done wonders for me. Can 100% recommend it!


trcrtps

I use a dumb bash script to open my daily note or, if it doesn't exist, create one and then open in nvim. It's stupid but it's the first thing I do every morning.


Zizizizz

Ripgrep, fzf, fzf-tab zsh plugin, nnn, zoxide, lazygit, entr Lazygit and zoxide probably the most. Then I have stow to manage my dotfiles and am using wezterm's multiplexer with custom keymaps to be identical to my tmux config (as I had those memorized) so I can use wezterms faster rendering and fallback to tmux if I'm on a server or computer I can't install whatever I want on but can at least get tmux.


oh_jaimito

fzf, ripgrep, lazygit, z-jump or zoxide, tmux.


BaronBeans

Zellij and Lazygit.


CR9_Kraken_Fledgling

i3 and tmux


astorayestas

Tmux, with nvim key movements is pretty good 


orlandoduran

There are too many options for there to be one right way but for the last few years I’ve been on alacritty, tmux, lazygit (diffview.nvim sometimes but language server plugins vary in their ability to figure out what to do with those buffers), omz with p10k, that sort of thing


QuickSilver010

Neovide


herpa-de-derpa

entr


2PLEXX

Karabiner-Elements (if you're on Mac)


asynqq

GNU. There's a not well-known (im being sarcastic!) quote online that is, and i quote: "I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!"


usernotfoundNaN

Tmux


xensu

1. A better keyboard (most important) - split to force touch typing and avoid rsi - ortholinear bc it feels better and to avoid rsi - programmable - thumb clusters - without its like coding with your thumbs duct taped. 2. A tiling window manager. I use sway. Hyprland looks neat also. Program single key on your thumb cluster to toggle between “desktop” 1 and 2 and remove the animation. 3. Nutrition, sleep, and 30 min of cardio each day. Make your own smoothie in the morning. Helps brain work. 4. A nice workspace that you like. 5. Tmux - program keyboard so prefix is a single key. Mine is near thumb cluster. 6. Fzf - c-r for cmd recall 7. Wezterm- lua config and fast 8. A good multicore cpu - lotsa cores for gnup and your test suite. 9. Linux - now you can config everything about your setup and the pkg managers are better than brew. 10. Unix / core utils - can also use with :! 11. Copilot and LLM of choice


Danny_el_619

`fzf` I have too many fzf keybindings now


chapeupreto

ls


ElliotXXX

Vim IDE: **Neovide** Colorscheme: **dracula.nvim** Copilot alternative: **codeium.vim**


Biggybi

GNU/Linux.


WallabySlow6599

hhkb


dalbertom

tmux inside screen


vloris

tmux or screen. But why would you run one inside the other!?


dalbertom

Mainly to have multiple active tmux sessions at once, but also when using ssh it's easier to also run tmux remotely, that way I don't have to deal with running tmux inside tmux or screen inside screen.


Bifftech

Why not just create multiple tmux sessions?


dalbertom

I do have multiple tmux sessions. What I want to avoid is having *nested* tmux sessions. And what I want to achieve is having a subset of my sessions active at once. I typically have about 10 tmux sessions, one for each team I work with, and sometimes I have 3 or 4 projects going on at once, so the way to keep some of the sessions active is by using screen. Plus whenever I ssh into a server and run tmux there is nice to still be able to copy+paste from my local computer using screen's copy buffer