TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ditching tmux

157 pointsby tetraodonpufferabout 9 years ago

28 comments

andrewstuart2about 9 years ago
I discovered i3 and the concept of tiling window managers a few years ago and have never looked back. A new terminal or browser window is always a keystroke away, as is swapping between &quot;pages&quot; of windows. It&#x27;s all navigable completely by keyboard, so my vim&#x2F;i3&#x2F;dmenu editing environment has me very rarely touching the mouse. As an added bonus I get to use every part of the screen by default. No wasted space.<p>It&#x27;s also pretty trivial to get some nice window arrangements so that I can quickly move to relevant parts of the code for whatever I&#x27;m working on.<p>I guess the major trade-off is that there aren&#x27;t any menus for accessing functionality, but I personally consider that a win because I end up being forced to learn how to manage everything at the lowest config level, usually editing text files. This makes it vastly easier to script things when I realize I&#x27;ve been making the same changes over and over.<p>So if you like tmux and you&#x27;re on Linux, I&#x27;d strongly recommend giving i3, awesome, or some other TWM a try.
评论 #11285885 未加载
评论 #11285518 未加载
评论 #11287340 未加载
评论 #11286075 未加载
评论 #11284529 未加载
评论 #11284667 未加载
评论 #11287389 未加载
评论 #11285977 未加载
评论 #11287410 未加载
评论 #11288776 未加载
评论 #11289937 未加载
评论 #11285473 未加载
评论 #11285618 未加载
vbezhenarabout 9 years ago
My main complain about tmux is that it messes with my terminal emulator scroll buffer. I like to use a mouse to scroll my terminal emulator. For example I can do `cat file` and then scroll around. If file is huge, `less` is better, of course, but for most things terminal scrolling is perfect. But `tmux` and `screen` completely ruin that experience. I know that they have their own scrollbuffer and scroll mode and all that, but I&#x27;ve found that perfect user experience for me is to blend GUI approach and text mode approach instead of replacing it.
评论 #11284642 未加载
评论 #11284672 未加载
评论 #11284655 未加载
评论 #11287475 未加载
评论 #11284622 未加载
zevebabout 9 years ago
At some point, neovim is going to have every feature of emacs, only with fewer decades of testing and written in a worse language.
评论 #11284525 未加载
评论 #11284827 未加载
评论 #11284380 未加载
评论 #11284513 未加载
评论 #11285950 未加载
评论 #11285641 未加载
cm3about 9 years ago
If your primary use wasn&#x27;t the background&#x2F;attach feature, sure this will work as will many other mechanism. I know like many users my main motivation is not losing the terminal session when (not if) X or Wayland crashes.
评论 #11285455 未加载
klinquistabout 9 years ago
I&#x27;m significantly more productive with tmux + autossh. I autossh into a single server from which I have about 30 SSH sessions open - organized by environment (tmux sessions) and host (tmux windows). The windows have the name of the host. I rarely use my number keys - I just shift-left arrow or shift-right arrow to the previous&#x2F;next window since jumping around is so quick.<p>tmux-resurrect is awesome too - if the server I autossh into reboots, I can just restore all my sessions and windows and it re-sshs into the 30 hosts.
评论 #11285951 未加载
falcolasabout 9 years ago
Simply replacing tmux with the same inside NeoVim doesn&#x27;t feel like a win to me. Tmux is very powerful (providing for decent nesting with remote servers), and until NeoVim reaches Emacs levels of configurability and extensibility, I don&#x27;t see it being a viable replacement anytime soon.
评论 #11284757 未加载
badosuabout 9 years ago
I highly recommend using dvtm instead: <a href="http:&#x2F;&#x2F;www.brain-dump.org&#x2F;projects&#x2F;dvtm&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.brain-dump.org&#x2F;projects&#x2F;dvtm&#x2F;</a><p>And for session management, abduco: <a href="http:&#x2F;&#x2F;www.brain-dump.org&#x2F;projects&#x2F;abduco&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.brain-dump.org&#x2F;projects&#x2F;abduco&#x2F;</a>
评论 #11288836 未加载
baldfatabout 9 years ago
Not posting to cause drama BUT:<p>&gt; I case you don’t know neovim yet, it is an awesome fork of vim with several enhancements, such as built-in terminal emulator and asynchronous jobs.<p>Vim has had asynchronous jobs before the fork. For example: <a href="https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-dispatch" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tpope&#x2F;vim-dispatch</a><p>built-in terminal emulator: Why just do this in vim -<p>noremap &lt;C-d&gt; :sh&lt;cr&gt;<p>&lt;C-d&gt; goes into and out between vim and your shell. What am I missing?
评论 #11284902 未加载
评论 #11285800 未加载
teddyknoxabout 9 years ago
Turns out you can use the same navigational keybindings to move around nvim splits and tmux splits, so that moving between the two programs is a sinch. This is what I use.<p><a href="https:&#x2F;&#x2F;robots.thoughtbot.com&#x2F;seamlessly-navigate-vim-and-tmux-splits" rel="nofollow">https:&#x2F;&#x2F;robots.thoughtbot.com&#x2F;seamlessly-navigate-vim-and-tm...</a>
joaomsaabout 9 years ago
Does neovim have session persistence for those embedded terminals? Can you share a session with other people as easily for pair programming&#x2F;debugging?<p>I&#x27;m not familiar with neovim&#x27;s terminal emulator. What happens when I press CtrlX-CtrlE? Is it similar to a normal terminal with readline set to vi binding?
评论 #11284558 未加载
sunkencityabout 9 years ago
All that trouble for nothing. I use xterm and control-z, and fg, one terminal window. If I need to work from more computers than one I use a screen instance that I can detach&#x2F;attach from the computer happen to be at.
评论 #11288224 未加载
jhallenworldabout 9 years ago
JOE has pop-up terminal emulators: hit F1 - F4 to bring up one of four terminals, or flip between them (like Alt-Fn on Linux). It&#x27;s nice, you don&#x27;t have to exit the editor to read a man page. But there is more...<p>JOE tracks the current directory of each of these emulators, so they are great for navigation: use cd and grep to find something to edit, then type &#x27;joe filename&#x27; within the terminal emulator to replace the terminal emulator with the requested file.<p>Also you can play games with regions and the compiler and grep parsers. This, from one of the terminal emulators:<p><pre><code> parse grep -n main *.c </code></pre> will find all of the .c files containing main, mark the grep command&#x27;s output as a region, and use the editor&#x27;s grep parser to load the list of file locations into the editor. So then you can step forwards or backwards through the locations with Esc = and Esc - as you would step through compiler error messages.<p>(Use &#x27;parserr&#x27; instead of &#x27;parse&#x27; to parse compiler error messages: type &#x27;parserr make&#x27;)<p>You can control the editor by writing programs which send editor macros to JOE: just echo Esc { macro } to the editor. JOE runs a shell startup file &#x2F;etc&#x2F;joe&#x2F;shell.sh to provide some aliases. &#x27;joe&#x27; and &#x27;parse&#x27; are two of the aliases from shell.sh.
评论 #11286855 未加载
krinchanabout 9 years ago
I can&#x27;t give up tmux because it&#x27;s what we use to remote pair at work. At the very least our team worked out some good keyboard shortcuts: C-a leaders with caps mapped onto Ctrl, VIM&#x2F;Tmux setups lifted from YADR so when you hit C-h&#x2F;j&#x2F;k&#x2F;l you can jump through VIM windows and tmux panes seamlessly, etc. With some work tmux is awesome and we mostly just copy&#x2F;paste links over hipchat if we&#x27;re looking at documentation.
kohlermabout 9 years ago
I also tried neovims terminal support and I must say I really like it. The reason is that you have a consistent way to mark and copy text from your terminal buffer(it basically works like in the editor). I had some other issues with nvim, which why I&#x27;m not yet settled on using it. I also like abduco for connection management.I&#x27;m currently using i3wm and a combination of some other tools such as parcelite to make sure that the copy and paste buffers are synchronized. I&#x27;m still looking for a simple way to be able to select something from the terminal buffer and copy it to somewhere else without the need of some complicated key bindings (e.g. not using screen or tmux). neovims terminal works well for this use case.<p>I don&#x27;t have the need to run a complicated dev enviroment using only terminal windows on some remote server. I would rather run i3wm and use NX to connect (its fast enough) if I had that use case.
joelbondurantabout 9 years ago
I fail to see the connection between tmux and vim. Vim is one of a billion programs i use with tmux inside terminator.
zobzuabout 9 years ago
the amount of levels of stacking for work organization is pretty scary. Its as if people spend more time trying to organize than actually working.<p>I use tmux for simple stuff that needs a &quot;detached terminal&quot;, not work organization. multiple terms, the wm and the editor buffers is already more than i&#x27;d ever ask for.
trungaczneabout 9 years ago
I have been using i3, tmux, vim&#x27;s conque, ... haven&#x27;t used neovim&#x27;s conque yet so I can&#x27;t comment on it, but here&#x27;s my experience:<p>* i3 is fantastic for 90% of your tiling window activities: stacking a LOT of windows on the same screen without any problem, its different modes (stacked, windowed, tabbed) are ingenious, it makes it possible to use minimal number of keystrokes to navigate between any arbitrary windows. The ugly side is that once you&#x27;ve set up your screen with the windows you want, you probably want to keep them like that, while i3 allows you to shift your windows around it gets a bit messy (how do I group these windows together under a different layout?). Also, on Ubuntu, i3 doesn&#x27;t have the nice &quot;stuff&quot; of other DE, the worst part is that windows don&#x27;t carry over gnome themes properly and there are bugs with some applications (chrome). Also integrating an &quot;Open another terminal in the current directory&quot; is a headache.<p>* tmux is great for everything terminal related, it&#x27;s not as good as i3, but it does its job well (splitting, windowing, saving sessions). It has a few interesting features that makes the move to i3 difficult, such as 1) opening another terminal in the same directory 2) scrollback with vim keys (so that you can run a command, do a reverse search on the output, and copy part of it out) and finally 3) sending the same keystroke to multiple terminals (handy when ssh&#x27;ing to multiple hosts for testing). The downsides is that tmux doesn&#x27;t seem to handle the console all that well (editing in the middle of a bash command kind of breaks on my machine) and it can be annoying to make a script that works with tmux (since it breaks the process parent&#x2F;child tree, this probably won&#x27;t affect anyone though)<p>* I have tried vim&#x27;s conque plugin, but the terminal freezes from time to time. I&#x27;m not sure if neovim&#x27;s plugin is gonna have the same issue.<p>Overall I don&#x27;t think there&#x27;s a single piece of software that handles everything completely satisfactory yet. i&#x27;ve been satisfied with tmux for a long time, now making the move to i3 (it&#x27;s everything I never knew I wanted), despite its several issues I think I&#x27;m gonna stick with it for a long time.
评论 #11288565 未加载
bchabout 9 years ago
I saw a neovim video[0] where the operator opened a terminal and then launched emacs in it. Can one now (by keyboard only), copy&#x2F;cut from the emacs terminal and paste into the neovim screen? That&#x27;s one of the nice things about tmux, where I can run a cmd, copy from the backbuffer, and paste into an editor to (e.g.) mail off the context for a bug report.<p>[0] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=xZbMVj9XSUo" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=xZbMVj9XSUo</a>
评论 #11289833 未加载
julienchastangabout 9 years ago
Here is my set up: I run emacs in server mode doing most of my work w&#x2F; an X11 emacs client, and eshell when I need a Unix prompt. As much as I like eshell there are many scenarios where I prefer zsh so I run zsh in tmux and invoke a non-X11 emacs (-nw) client within tmux to go back and forth (copy&#x2F;paste whatnot) between emacs and zsh. Repetitive strain problems aside, I am generally pretty happy with this setup.
voltagex_about 9 years ago
I still have problems with the ssh agent when running tmux. No amount of hacks or symlinking sockets everywhere seems to give me a reliable (re)connection to the agent when detaching and reattaching to tmux across machines and ssh sessions.
placeybordeauxabout 9 years ago
This is very specific to people that already know and use vim, but I agree. Once I learned about neoterm I have switched over to an instance of neovim defaulted to term:&#x2F;&#x2F;zsh as my initial shell.
koughabout 9 years ago
Broken on safari on ios9: can see maybe 20px of the article at the bottom of the screen, while a sticky header with the author&#x27;s face fills the rest.
评论 #11284406 未加载
评论 #11284192 未加载
DominoTreeabout 9 years ago
I&#x27;ve been doing this for a while, and the only real issue is remembering not to open nested neovim sessions when I want to edit a file :P
评论 #11285667 未加载
cm3about 9 years ago
while we&#x27;re talking about tmux, when will it gain screen&#x27;s flow control (not tty flow control you can enable&#x2F;disable), so that something like &#x27;tar xfv linux-4.5.tar.xz&#x27; won&#x27;t lock up tmux anymore. This works smoothly in screen but breaks tmux.
评论 #11286114 未加载
plugnburnabout 9 years ago
I don&#x27;t usually use in-terminal tiling managers, but when I do, I use dvtm.
dominotwabout 9 years ago
i tried this with neovim for a while but went back to tmux due to lag in neovim&#x27;s terminal emulation.
kedaabout 9 years ago
does this work in remote ssh session?
评论 #11284526 未加载
评论 #11284383 未加载
TYabout 9 years ago
TLDR: a neovim user discovers that he can use it as terminal multiplexer instead of constantly switching between neovim and tmux.
评论 #11284674 未加载