I’m reconsidering my terminal emulator and was curious what everyone was using.
alacritty. the only downside for me is no ligatures
Dunno if you know about it, but Kitty scratches most of the same itches as Alacritty for me (fast launch and rendering, text config, no UI to deal with), and supports ligatures.
St with few patches and personal customizations is amazing.
Tilix
Not sure I’d call it my favorite but it’s the one I’m using right now.
Emacs with vterm
Alacritty with tmux 👍
While y’all here:
is there a terminal emulator that has “modern” text entry controls while still having tab completion? Like selecting text by going shift+leftarrow or deleting whole words by holding ctrl+backspace/del or replacing whole words that are selected while pasting text rather than it pasting at the point where the curser is at the start of selected text so you still have to manually delete the original characters. Maybe Undo, redo with ctrl (shift) z…
Stuff like that. Just wondering. I always find it very cumbersome to fiddle with long commands especially if they contain long paths that you want to modify. Lots of backspace and arrow-keys hitting for every single character…
I know that
zsh
has the option to use vim-like keybindings if you’re familiar with those.I’ve only managed to come close to that using vs code terminal and PowerShell.
PowerShell is the only shel I’ve found for windows that allows text selection with keyboard. And since no one uses PowerShell on Linux, no Linux terminals have good support for it, except the vscode terminal.
Bash (and other shells) have readline support which sounds similar to what you want?
“modern” text entry controls… Like selecting text by going shift+leftarrow or deleting whole words by holding ctrl+backspace/del …
Those are not really features of the terminal emulator but of the shell. I don’t think a terminal emulator can coerce bash or zsh or whatever to do those things unless it acts as some kind of proxy between your text editing buffer and the shell, which would probably lead to its own set of complications. The thing you want would have to be a combination of a GUI terminal program and its own shell.
For bash, I suggest you read up on readline keyboard shortcuts, which can do many of the text editing tricks that you are asking. The shortcuts are different than what you are used to on Windows, and there’s no concept of “selecting” text, but for terminal applications it’s pretty much the standard way text input is handled on Linux.
I’d suggest checking out fish shell.
Gnome terminal. I don’t really care the terminal emulator. What’s in the terminal is what’s important. The terminal window just needs to be able to resize correctly though.
Same here - it comes with Gnome distros by default so nothing to install. I keep all the default settings except for disabling the annoying bell.
Unironically: vscode terminal. It’s the terminal that has less bugs when using shift+arrows to select text. I also use PowerShell because bash doesn’t allow text selection with keyboard.
Same. Has anyone found a way to launch VS Code as just the terminal window? I’ve tried hacking around and doing stuff like using Zen Mode with just the terminal displayed, which is close, but I don’t think that can be scripted, unfortunately.
You can open the terminal as if it were any other file, instead of the integrated terminal.
Could you elaborate on this? How do you open the VS Code terminal on its own?
F1 ->
>Terminal: Create New Terminal in Editor Area
Ah gotcha. That’s not quite what I’m looking for. That opens a split-pane terminal in an existing window.
What I’m wanting to do is have something like this:
code --terminal-only
. That would enable it to be launched from a script or shortcut and function as a standalone terminal application. Unfortunately, however, I’ve looked through VS Code’s command-line options, and nothing like that seems to exist.
xterm. Simple. Gets the job done.
Tested dozen recently… And nothing was so much better to change the default one of KDE.
Used to urxvt (when I was using tilling vm on desktop pc). Used gnome-terminal when I was on cinnamon. I switched to KDE year or so ago and I’m using Konsole. It really does not matter that much, I only need tab support and 256 colors.
Anything, but with tmux running inside. You can copy text even in a tty, split the terminal window, detach from and attach to tmux sessions, etc. I will never use a terminal for any moderately complex task without tmux again :)
i never got the copy part right, what configs are you using?
also, can you copy from a remote (ssh) tmux?
Copying in tmux (assuming default keybindings):
- Enter copy mode with Ctrl+b, [
- Position the cursor at the start of the text to be copied, press Ctrl+SPACE to start copying
- Position the cursor at the end of the text, press Alt+w or Ctrl+w to copy into the tmux buffer
- Press Ctrl+b, ] to paste, possibly into different pane :)
By ‘copy’, I meant between different tmux panes/windows.
If you open tmux on your host, split it into two panes and SSH into the server in one of them, then you can use this copy functionality. I’m personally not aware of a way to copy between a remote and local tmux session.
ah yes sorry i meant copy to system clipboard.
i succeed in configuring vim so it uses the system clipboard on both local and remote sessions.
i would like to do the same with tmux, but as you said too, it does not seem to be a way.
You absolutely can. You just have to use a clipboard command as the copy/paste. Add this to your
~/.tmux.conf
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xsel -i -b" bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xsel -i -b"
or use your favorite cli clipboard command. Note that those are using the vi bindings; you might have to adapt the config.
xterm
respect the classics :)
Zutty, the Zero-cost Unicode Teletype which the developer describes as “A high-end terminal for low-end systems”.
I really like wezterm, mainly because it’s configured in Lua and you can easily disable all keyboard shortcuts and allow only the ones you want. I do everything in Tmux, so my only shortcut s are for changing font size and full-screening window.
XTerm. I used to use rxvt-unicode, but it only supports 256 colors and gave me grief when I tried to get some emacs color theme working. There’s only one thing I miss, which is that rxvt-unicode reflows lines when you resize the terminal, which xterm won’t do. Oh and urxvtc starts very slightly faster, but no big deal.
I also looked at kitty, and I like that the author of that one tries to champion new features, like full keyboard support on par with X11 apps. But it takes noticeably longer to start and the latency also feels worse.
I have to ask. I launch new terminals with Super+Enter, I barely have time to release my key chord, and kitty is already opened. I understand “slower”, but 100% slower than a couple tens milliseconds is still a couple tens of milliseconds. My WM/compositor popping up the window and shell probably take longer by themselves than the difference in launch times between those two.
YMMV depending on what you consider to be noticeable delay & latency, I guess?
Just tried this again. Kitty takes like maybe half a second to start on my machine (maybe yours is faster?). Not sure how to measure this. xterm starts almost instantly. I can type “Super+Enter ls” and it’ll work. Doesn’t work with kitty, the keystrokes just disappear. Is this actually important? Probably not, but it feels annoying. Like slow internet.
I might have imagined the typing latency, since it feels the same as xterm now. Maybe I’m remembering wrong. I was on the old Debian when I last tried this though, so something could have changed.