![]() ![]() It let’s you manage terminal sessions and interact with them programmatically. Generally one could say it’s a screen on steroids. Tmux is one of such building blocks, that can really help you a lot when it comes to automating your developer workflows. It seems to me, that often what we need are just the proper building blocks. We can program basically anything, why not our developer environments. But sometimes you’re like: do I really need to pull another plugin to do this simple thing?. You can often find an editor plugin that does what you need. But, let’s be honest, sometimes there are moments, that you wish your tools did a little better when it comes to helping you with tedious tasks. Boring introductionĪnd I still like this kind of workflows. ![]() I believe that for a lot of people one of the (many) reasons to join the Ruby bandwagon was that you could do virtually everything without a big, fat IDE, that I never know what it’s doing and how. I encourage you to give it a try and see if you like it.When it comes to my developer toolset, I like solutions that I can easily understand and tweak. This post summarizes my experience using its tmux integration and compares it to my existing workflow. ITerm2 is a fantastic product, it has a ton of features that you might not even know you need, I am a really new user and have not discovered all the ways that it can help my workflow yet. With iTerm2, I lose the tmux status bar, and the nice colors I have set up. My development environment is pretty sparse, there is not much eye candy around, but I do have a tmux status bar that is customized with colors that matches a Vim status bar scheme I like. ![]() Whereas when I was using plain tmux, the attachment is almost instant. ![]() With multiple tmux windows open, I find that iTerm2 takes some time to spawn all the tabs - I can see each tab being started one at a time. When I start my day I attach to the existing session that is running on the server. I initially thought that this would help with repetitive strains, since now I have to use a different key, Cmd, instead of relying on Ctrl for all my actions, but the context switch actually forced me to be more aware if I was working in a vim split or tmux pane. With iTerm2, this workflow doesn’t work anymore, I have to use to switch between tmux panes. For my workflow, I have a tmux split with vim above, and shell below (for running builds and tests). I use vim-tmux-navigator for easy navigation between tmux panes and vim splits, this means that (by default it’s ) will jump down the vim split below the active split, or the tmux pane below the active pane. The best I could come up with was to use the Meta key. I wanted this in tmux natively, but found that it didn’t have a way to recognize the Cmd key. With tmux you need, and since is usually two keys, it’s effectively 3 keys. The tab strip in iTerm2 has tab numbers so it’s easy to hop to. I can probably come up with key chord to condense prefix+[ and ? to a single chord, but iTerm2 is still easier. Right now to do this in Tmux I hit prefix+[, then ? to search upwards, then visually highlight my selection to copy. ITerm2 mouseless copy, where you hit Tab while searching for a term, and the search term expands, then you can copy the term easily. With plain tmux, you can enable tmux mouse support and this lets you drag to resize panes, but you can’t do that to reorder windows, you’ll need to use a command for that. Seamless integration with iTerm2 tabs and panes means using mouse to easily drag and rearrange stuff. This integration even works for running tmux onto a host that I ssh to! I tried this workflow out for a couple of weeks, and eventually decided to switch back (to using a single iTerm2 window, ssh, and start tmux on my ssh destination). This means that tmux panes become iTerm2 panes, and tmux windows become iTerm2 tabs. I recently tried out iTerm2 (mostly for its integration for URLs, but it has a ton of other features). ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |