8 ms·
Beautiful Tools
- googletron 14y agoI would have liked to go into vim stuff too; but blog post would have become a book.
- cgag 14y agoYou might be interested in vim janus. https://github.com/carlhuda/janus https://github.com/carlhuda/janus
- cheatercheater 14y agoOr in my vimrc: https://bitbucket.org/cheater/vimrc https://bitbucket.org/cheater/vimrc It's just a single file, so the checkout is easier, and it downloads all the plugins on its own. Read the vimrc before you use it, otherwise you might find yourself a bit surprised.
- uhhyeahdude 14y agoI use some of these tools, thanks for the post. I think that there are a lot of people who are unaware that they can have an attractive and (sometimes profoundly useful, depending on what you do) shell experience.
- ericclemmons 14y agoI've had a git-customized bash prompt for a while and never had he urge to try zsh until the embedded video showed the following: arrow keys and tab moves a selection between tab-completed results. That alone is worth me trying it out, particularly when browsing DB dumps and Apache logs which are all time stamped. (It's easier to identify the correct one than retype a timestamp)
- gose 14y agoSame here. Here's the script for a git-aware bash prompt if anyone else is interested. function parse_git_dirty { [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*" } function parse_git_branch { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/ \1$(parse_git_dirty)/" } PS1='[\w$(parse_git_branch)] '
- SkyMarshal 14y agoAnyone know any good references for transitioning from bash to zsh? Particularly thinking about converting .bash_aliases, .bash_profile, and .bashrc. What are the ZSH equivalents? Also I get the impression the poster uses ZSH, Tmux, and Vim. I use Vim and Tmux too, but unfortunately not at the same time if I can help it. There are one or two Vim commands that don't work in Tmux because of a key mapping conflict. Been so long since I've tried that I can't remember exactly what the conflict is, but does anyone know what I'm talking about and know of a solution? Edit: Thanks everyone, very helpful. Also, in case anyone else wondering, after a little research, it appears the syntax for aliases are the same for .bashrc/.bash_aliases, .profile, and .zshrc. So I moved all my aliases to .aliases and sourced that file .bash_aliases, .zshrc, (and .profile but I don't think it's needed here. also didn't seem to work when I sourced it in .profile only and not the other two).
- gcv 14y agoI recommend a book called "From Bash to Z Shell" (http://www.bash2zsh.com/ http://www.bash2zsh.com/). It favors zsh, but teaches tons of bash tricks, too. The files you're describing are just startup files, read by bash as it starts up in various modes. I put my configuration into .zshrc. It will take some effort to understand your new shell's default behaviors and how to customize them.
- Ogre 14y agoI'm an emacs user, not vim, but I have some idea. My tmux.conf reads like this: unbind C-b set -g prefix ` bind-key ` send-prefix This removes Ctrl-b as the tmux prefix, sets it to ` (backquote) instead, and makes pressing ` twice insert an actual `. It really doesn't take very long to get used to typing `` when you mean `.
- SkyMarshal 14y agoGood call, been using it tonight, dig it, thanks!
- slurgfest 14y agoAll the zsh man pages are in `man zshall`. See the section STARTUP/SHUTDOWN FILES to see what is used instead of the files you mentioned. instead of .bash_profile you want .zprofile and instead of .bashrc you want .zshrc. Put your zsh aliases wherever you want (.zshrc will work fine). Tmux uses Ctrl-B as its prefix by default, which is a commonly used key in vim. You can choose whatever prefix you want in .tmux.conf, maybe something which doesn't conflict with anything you use in vim, or you can rebind the one key with the conflict in vim's very flexible system. Also, Tmux will let you send through a prefix key literally (like Ctrl-B Ctrl-B).
- rmckayfleming 14y agoMay I also recommend DejaVu Sans Mono as a great terminal font (I have it at 14pt). Pulled the idea from here: http://jtnimoy.net/workviewer.php?q=178 http://jtnimoy.net/workviewer.php?q=178
- bluekeybox 14y agoDejaVu Sans Mono is a must have (or a must try at least). It has 10x more Unicode glyphs than any other monospaced font out there, and is easy on the eyes (close call with Monaco on readability I'd say). Menlo is just an Apple-botched version of DejaVu (saying this as an Apple fan btw), without the extra glyphs. With DejaVu, you can easily get awesome things like: ▷ λ ⇒ ≤ ⊥ ⧺ ∈ ∆ ⤜ ∅ ∑ ≡ ∘ √ (all in true monospace that plays nicely with Vim!). I have to admit this may not be for everyone :), but fun to hack Haskell with.
- googletron 14y agomy dotfiles https://github.com/myusuf3/dotfiles https://github.com/myusuf3/dotfiles
- jvc26 14y agoHave you considered using vundle? That removes some of the submodule requirements. https://github.com/gmarik/vundle https://github.com/gmarik/vundle
- kunalb 14y agoFor those who don't tweak their toolchains spending one chunk of time and forgetting about them is obviously better than doing nothing else, but personally I recommend continuously evaluating what you do on the shell (well, obviously this can be generalized, but I won't go there) and tweaking away your pain points and repetitive tasks. Some specific recommendations -- - Keep a version controlled `dotfiles` folder, link important files to it and share it across dev envs. - Add shortcuts to modify your vimrc (<leader>v) and apply it (<leader>V) to help you tweak fast and get instant feedback. - Using an approximation of REPL for any work I do has been the single largest productivity boost I have: minimize keystrokes between (Write Code) <> (Build/Compile/Run/Whatever/Get feedback) <> (Write code). I started using vimux recently (lets you run commands in a split pane without actually leaving the pane with vim installed) and have never been happier. - While speaking of nice fonts to write code in, http://www.google.com/webfonts/specimen/PT+Mono http://www.google.com/webfonts/specimen/PT+Mono is a new favourite of mine. Of course, your mileage will vary. (edit: formatting)
- vog 14y ago> Using an approximation of REPL for any work Surprisingly often, this can be accomplished by simply running "watch" in a separate terminal window. (see also http://www.profv.de/vim-watch-wmii http://www.profv.de/vim-watch-wmii)
- ralph 14y agoThe font is nice but I'd like one with a sexy `' pair, like they used to be before ASCII went all 8-bit on us. ;-) Also, a dollar that only has the vertical line(s) beyond the S avoids it becoming too heavy compared to glyphs around it.
- encoderer 14y agoI've been talking about this a lot recently. It doesn't surprise me at all that so many beautiful iOS apps are created in XCode, which is certainly the most beautiful IDE I've ever used. With Android, on the other hand, it's hardly a surprise when you look at Eclipse that the apps produced are... uninspired. It's also echoed by Linus Torvalds when he evangelized the MacBook Air a few months ago. That article led directly to me buying an Air (which had been on my mind anyway) in favor of lugging around the bigger Macbook Pro supplied by my employer. The Air is completely silent, has stunningly beautiful lines, and a screaming fast SSD. I could use a couple more gigs of ram but 4GB is workable and the trade-off is one I'm happy with. Outside my craft, I have a real passion for high quality tools that are made to last a lifetime. Truly good knives in the kitchen, a good set of enameled cast iron and stainless cookware, beautiful and simple appliances like the Vitamix and Moccamaster. In the bathroom a high quality badger hair shaving brush and a classical safety razor. In the garage high-quality tools that feel good in your hand and won't break when you're using them. I could go on for another 5 paragraphs. Suffice to say, +2 from me.
- mistercow 14y ago>It doesn't surprise me at all that so many beautiful iOS apps are created in XCode Seems like a spurious correlation to me. Both Xcode and the iOS frameworks were designed by Apple, a company known for their excellent interface design and aesthetically pleasing look and feel. iOS apps aren't beautiful because Xcode is beautiful. iOS apps and Xcode are beautiful because Apple designed their interface elements.
- slurgfest 14y agoApple's great achievement has been the cultivation of this intense variety of brand tribalism. The purchase is not merely an exchange of money for a product that gives pleasure or does what it's expected to. It certainly isn't the guilty pleasure of someone who recognizes that they are consuming more than they really need to. No, it has a kind of ceremonial importance. It is a badge of social honor and distinction, a proof of discerning taste which sets the buyer apart from the grubby masses and puts them in the company of Personalities even as they enjoy the new-box smell and savor the kinds of product claims that we are jaded to in most advertising. So it is that a post about configuring free tools for productivity results in a paean to Linus Torvalds, MacBook Air, Vitamix, Moccamaster, and your real passion for beautiful, most beautiful, stunningly beautiful, truly good, beautiful, simple, high quality, high-quality, feel good. The 99 names of Apple.
- drivebyacct2 14y agoThis goes hand-in-hand with the article a while back about having a codebase that is easy to ramp up and use. I don't mean the actual code itself, I mean the project and the build tools. For example, it's absurd that I have to build in 4 different places, in different black-box terminals to get my code to run. Or that the unit tests for the project I was placed on only run in environments that are perfect replicas of production. Or that I'm using source control that was cludgy 8 years ago.
- Porter_423 14y agoI've found that I spend more than a day tweaking my setup - I generally tweak mine once a week. Not huge changes, just useful settings in Vim, or new plug ins and whatnot.How are you getting the angled colors in your Tmux status line?
- kapilkaisare 14y agoThe fonts he mentions aren't bad; I think though, that Monaco is quite possibly the finest font ever made. I've yet to see a font that beats its cleanliness and legibility.
- pirateking 14y agoProFontX is the monospace font I have been using for the past few years. It has served me well, although I also do love the default Monaco. http://faisal.com/software/profontx/ http://faisal.com/software/profontx/
- elisk 14y agoDoes anyone knows if and how I can install zsh on windows with git bash?
- hebejebelus 14y agoTry installing Cygwin with the zsh and git packages. From there, you can install oh-my-zsh etc very easily. Cygwin is effectively a UNIX environment on your Windows machine, with support for many programs. A big draw is that it uses a UNIX folder structure /usr/, /etc/ and so on. Git Bash, as I understand it, is just a bash prompt and basic tools (cd, ls and the like). You will probably have a hard time installing other programs. Don't take my word for it though! http://www.cygwin.com/ http://www.cygwin.com/
- hackNightly 14y agoI just wanted to say thank you a million times. As a web developer, I totally agree that the tools we use day in and day out should be a delight to interact with. With that said, I'm almost ashamed to say that I had no idea Zsh existed. After reading your post and downloading it, I am forever grateful.
- googletron 14y agomy pleasure. :) let me know if you have any questions.
- Silhouette 14y agoA relevant site for anyone trying to improve their *nix command line skills: http://www.commandlinefu.com/commands/browse http://www.commandlinefu.com/commands/browse
- LauriL 14y agoUsing VIM delights me everyday. However, I also work with Java codebases, and there Java IDEs are still relevant. I've tried a VIM plugin on IntelliJ IDEA, but it doesn't work well. I'd like to use the VIM keybindings with IDEA for the sake of speed and enjoyment, but it seems that I should first contribute quite a lot of code for the IDEA VIM plugin to get it working properly. How do you VIM lovers work with Java code bases?
- phogster 14y agoYou can give http://eclim.org/ http://eclim.org/ a try.
- zokier 14y agoI was agreeing with the article until the conclusion. I don't see how any of the stuff he had in the article even refers, much less supports, the conclusion of 'Colors are extremely important'. How do you conclude that from "customizability is good", which seemed like the main thesis of tfa?
- lobo_tuerto 14y agoWell, maybe because they are outstanding visual cues, and they can easily be used to discriminate information that otherwise you would have to _manually_ detect, look for and/or parse to extract some piece of information.
- Produce 14y agoYawn. Here's a better list in 5 minutes. Vim + pathogen + NERDTree + CtrlP + CTags + surround.vim + whatever shortcuts you're comfortable with mapped to <leader> Git + "git config --global --add color.ui true" + Tig XMonad Microsoft Ergonomic keyboard Trackball mouse Arch Linux Grep + find Ditz to track bugs for small projects Sphinx for documentation Jenkins for CI Konsole Ofcourse, Oh-My-Zsh + Zsh's vi mode + a good font too.
- Produce 14y agoGood job, Reddit-moonlighters, downvote the one comment full of useful information in this thread because you're butt-hurt over the tone of 8 words. To add to my argument for when you downvote this, Fish is nicer to use and easier to setup than Zsh. Seriously, someone blogs about three well known "tools", which has been done to death by now - one of which is about fucking fonts (seriously?) and that's considered a useful contribution? I mean, with gems like these, how can you possibly go wrong? >So the prompt here is a current directory surrounded with square braces. Wow, thank you for explaining that. To contribute back, did you know that the sky looks blue in the day time? >No one loves a slow terminal. No one. Aha! But I love me a slow terminal! >What makes a good programming font? > > mono-spaced > readable > you can tell the difference between O and 0. Someone give this man a publishing contract, this is blowing my mind! The level of brain damage here is mind bending. Even more so given that so many of you are sufficiently brain damaged that you are professional developers who can't dig up the 500 articles which have already covered this. To add insult to injury, the highest rated comment is praising XCode. Because it's pretty. Jesus H Christ. From my experience with using Mac OS X, which I have no comprehension of how anyone can stand from up close - I mean come on, you JUST got the ability to full screen an app? You can't change the window manager to something usable? Want to customize something? Fuck you, customize that! Oh wait, you can't! - it's clear that Apple products are shiny on the outside and polished turds on the inside. The only good thing about OS X is what Apple didn't write - that is to say, the Mach 3 microkernel and BSD userland apps. Apple wrote iTunes in whole and it's an insult software applications. http://devcodehack.com/xcode-sucks-and-heres-why/ http://devcodehack.com/xcode-sucks-and-heres-why/ http://amplicate.com/hate/xcode http://amplicate.com/hate/xcode So really? We have a group of developers for who having pretty buttons is more important than, you know, solving the fucking problem? I sincerely hope that I never have to work with anyone who fits into that category. You'll probably spend half the day plucking your eyebrows while the rest of us get shit done. Oh wait, I have, and they were just as idiotic as some of the people here. They were idiotic because style won over substance. If you care about style, go paint, design UI's or make music and get out of my industry. Frankly, I'm sick of you hipster "developers". Bring back the four inch thick specs, uncombed hair and social anxiety ridden social rejects as I'd rather deal with them than this crap any day of the week. Someone here even hinted that them using Mac OS X when it was version 10.2 was a badge of honor. Yes, mentioning that you were there "at the start" then saying that you don't care about badges is implying that you see it as a badge. Moronic. Using Linux when it was in it's 0.x evolutions is a badge of honor. Writing kernel drivers is a badge of honor. Working on exotic systems like Solaris or QNX is a badge of honor. Get some perspective and show some respect for the roots of this culture.
- kabdib 14y agoLife is too short to use bad tools. His point about "love your tools" is very close to what the relationship should be. I /love/ my editor, I've been using it for 20 years. There's a great visual merge tool I've been using every day for over a decade. And a handful of others. Some of these I purchased (and keep up to date) with my own money. I don't mind, it's worthwhile investment. Then I see people who regularly write code in Notepad or the moral equivalent, and I want to cry. They have no idea what they are missing. I happen to disagree on colors; I'm red-green colorblind. Colors may be great for providing hints, but conveying /meaning/ with colors is fraught with peril.