Tom Ryder
blog.sanctum.geek.nz · Personal blog · on HN since 2012
Tom Ryder writes about Unix tools, Vim, shell usage and older utilities such as ed.
What HN saysHN commenters say they learned a great deal about Vim and obscure but historically important Unix tools, and single out the Vim koans as a favourite.
69HN people shared it
33linked it in comments
46stories submitted
1.8Kstory points
1 year agolast shared
2012people per year2026
Most-shared posts
- 1Using unix as your IDE16 people · 552 points · first shared 2012 · 127 comments on HN
- 2Vim Koans10 people · 147 points · first shared 2012 · 13 comments on HN
- 3Actually using Ed5 people · 150 points · first shared 2012 · 89 comments on HN
- 4Homepage4 people · first shared 2012
- 5Vi mode in bash3 people · first shared 2012
- 6Vim anti-patterns2 people · 335 points · first shared 2012 · 142 comments on HN
- 7Advanced Vim Registers2 people · 145 points · first shared 2012 · 21 comments on HN
- 8Advanced Vim macros2 people · 17 points · first shared 2012 · 1 comments on HN
- 9Vim's built in IDE tools2 people · 6 points · first shared 2012 · discussion on HN
- 10Vim annoyances2 people · 5 points · first shared 2012 · discussion on HN
- 11Vim misconceptions2 people · 4 points · first shared 2012 · discussion on HN
- 12Using more of ex in Vim2 people · 4 points · first shared 2012 · discussion on HN
- 13Default grep options2 people · 3 points · first shared 2012 · discussion on HN
- 14You can tell a lot about a shell user by looking at their prompt2 people · 2 points · first shared 2012 · discussion on HN
- 15Zooming tmux panes2 people · 1 points · first shared 2013 · discussion on HN
What HN people wrote when they linked it
_feda_ · 2012-12-16
as for technical blogs, the only ones I get consistently useful information from are:
http://blog.sanctum.geek.nz/, from which I've learnt a great deal about vim and also about some obscure but historically significant unix tools which otherwise I'd never have known of.
http://archlinux.me/ Every now and then a good in depth article pops up pn this one. Dev blogs are great for learning about the nitty gritty details of a project aswell as getting a grip on the problems devs are facing right now.
janogonzalez · 2012-09-23
According to Wikipedia (I know, not the most reliable source) a Kōan is a story, dialogue, question, or statement, which is used in Zen-practice to provoke the "great doubt", and test a student's progress in Zen practice.
The main themes in this particular article are that Vi is not a silver bullet, that even using a great tool you can do a lousy lob and that tools are just tools.
So more than an "incoherent flamebait" this is a list of Kōans about Vi created by someone that uses it and other Unix tools on a daily basis (as you can see on his other posts: http://blog.sanctum.geek.nz/)
freeCandy · 2025-07-20
Vim koans are my favourite
https://blog.sanctum.geek.nz/vim-koans/
scajanus · 2022-10-15
> Even after 1-2 weeks
You should accept a longer trajectory -- say 1-2 years to learn it and 7 years to get good at it. But even then it means you need to review things you do, look for repeated patterns and wonder about/hunt down smarter ways of doing things.
A big help for me when starting was hanging out in the Vim IRC channel (Freenode, I think). This stackoverflow reply is a classic on how to learn Vim: https://stackoverflow.com/a/1220118/4751065
Bairui's blog has some good stuff, but sadly he left the IRC channel in 2015 then I guess: http://of-vim-and-vigor.blogspot.com/?m=1
Finally, of course, the koans: https://blog.sanctum.geek.nz/vim-koans/
ljosifov · 2022-01-28
Nice, and improvement on frequent "vim for beginners" texts. One vi(m) text that takes things further is "The Vi/Ex Editor" by Walter Alan Zintz (originally published in UnixWorld Online), atm at https://www.ele.uri.edu/faculty/vetter/Other-stuff/vi/009-index.html. Love the intro, heart warming indeed :-) https://www.ele.uri.edu/faculty/vetter/Other-stuff/vi/009.part1.html#h… A rich repository of related material is e.g. https://blog.sanctum.geek.nz/series/unix-as-ide/.
platz · 2015-02-21
http://blog.sanctum.geek.nz/ has some of the clearest yet most nuanced Unix tutorials I've ever seen
jdp · 2014-12-08
This is the best writeup I've seen so far on getting comfortable with ed: http://blog.sanctum.geek.nz/actually-using-ed/
sigvef · 2014-03-23
My favorite hacker koans are the vim koans: http://blog.sanctum.geek.nz/vim-koans/
erifneerg · 2013-05-07
Did you miss the part where he says over and over how he uses vim?
Did you read the replies on reddit where this was originally posted to where there are rebuttal to the author's claims?
http://www.reddit.com/r/vim/comments/1aq1lx/just_use_sublime_text/
http://vpaste.net/fA7rH
Vim is a text editor and that's it. If you want it do be an IDE you're going to have a bad time. I'd recommend this piece on Unix as IDE
http://blog.sanctum.geek.nz/series/unix-as-ide/
asdfs · 2013-04-25
I found this blog post to be an excellent ingroduction to ed, for the uninitiated: http://blog.sanctum.geek.nz/actually-using-ed/
And of course there's the obligatory: http://www.gnu.org/fun/jokes/ed-msg.txt
wging · 2013-04-18
>one way or another
Speaking of another:
export PS1="\t $"
For a lot more information on bash prompts, I'd recommend http://blog.sanctum.geek.nz/bash-prompts/
johncoltrane · 2012-09-09
You were wrong, obviously, but the people who made you believe that with their stupid blog posts are wrong, too. I'd say they are more wrong than you.
Those blog post are seriously misleading: at best, one can come up with a vim config that make it look like a stereotypical IDE: file tree on the left, class tree on the right, quickfix at the bottom, completion… But there's a lot more to an IDE than that. Because Vim will never understand your code as an IDE does it will never be an IDE, full stop.
It can be the (super charged) editor module of your development environment but it would take a lot more than a blog post with cool screenshots to explain how and why. Even this 7 parts series is probably not enough: http://blog.sanctum.geek.nz/series/unix-as-ide/
pooriaazimi · 2012-06-09
Also be sure to check this guy's blog out: http://blog.sanctum.geek.nz/
Tons of other useful articles about terminal and vim and things like that...
breckinloggins · 2012-08-27
Also cool to play around with are the various options that let GCC (and presumably LLVM) show you the various compilation stages of your C code. You can even spit out the C and resulting assembly side-by-side.
I haven't had the time to play with this, but Part 4 of the excellent "Unix as IDE" series [1] goes into it and I'm sure there's more around the web.
Another really fun way to get into the underlying assembler that the C compiler generates is Vidar Hokstad's "Writing a compiler in Ruby, bottom up" [2]. This series involves writing little C functions, compiling them to the simplest assembly you can get, then writing a ruby compiler (in Ruby!) that emits that assembly. Some people have objections to the approach, but it's really quite nifty. I especially like it because it's really refreshing to see a compiler tutorial that doesn't start with the lexer and parser.
[1] http://blog.sanctum.geek.nz/unix-as-ide-compiling/
[2] http://www.hokstad.com/compiler
conor- · 2023-07-17
> I've never understood why people and to extend vim to try to make it half of an IDE.
Because vim ships with any *nix machine and provides a consistent experience no matter where you use it.
Vim is the DE part and people add plugins or whatever to enrich the text editing experience with LSPs or other language aware plugins, and the I in IDE is in the form of the integration with the tooling already available on the host.
This[0] might shed some better light on the "why"
[0] https://blog.sanctum.geek.nz/series/unix-as-ide/
imran-iq · 2023-05-27
This reminds me of a vim koan[0]:
> Master Pope once dreamt he was an Emacs user. When he awoke, he exclaimed:
> “I do not know if I am Tim Pope dreaming I am an Emacs user, or an Emacs user dreaming I am Tim Pope!”
---
0: https://blog.sanctum.geek.nz/vim-koans/
zxexz · 2021-10-15
For bash users who are used to vi-style keybindings, you can enable vi mode[0]. When I discovered this, my "performance" must've more than doubled :)
[0] https://blog.sanctum.geek.nz/vi-mode-in-bash/
asicsp · 2021-08-18
These might help:
* https://blog.sanctum.geek.nz/series/unix-as-ide/
* https://themouseless.dev/
Personally, I use gvim for all my text editing needs and use a normal terminal (i.e. no tmux, i3, etc). There's not much to share, unless you are interested in my vimrc, aliases, etc: https://github.com/learnbyexample/scripting_course
jefurii · 2021-07-01
Linked to in the article: UNIX as IDE (https://blog.sanctum.geek.nz/series/unix-as-ide/)
a3n · 2015-12-21
https://pinboard.in for long term informational sites. These are tagged, and serve as "searches for things that I know I've seen before."
Example: http://blog.sanctum.geek.nz/series/unix-as-ide/
Immediate references, that I often use, go into my browser's Bookmarks menu.
Example: http://www.vimregex.com/
ejstronge · 2014-07-04
I don't think this is the case, though I may be misunderstanding what you wrote.
At the shell, it's true that you're limited to vi-style controls (so no text objects like ci").
However, once you press 'v' in normal mode you can drop into either vi or vim - this only depends on what $EDITOR is set to[1].
[1] http://blog.sanctum.geek.nz/vi-mode-in-bash/
droptableusers · 2013-12-21
If you are on GNU/Linux you can use built in tools with PGP (with a little help of bash scripts, and git if you want). I first saw it explained on this blog http://blog.sanctum.geek.nz/linux-crypto-passwords/ and has worked really well for me. Feels more robust and secure than browser password stores, though probably not as convenient but its up to you, convenience or security.
sasvari · 2013-03-29
Here [0] is a nice introduction to the newly introduced zoomed panes feature in tmux 1.8 by Tom Ryder.
[0] http://blog.sanctum.geek.nz/zooming-tmux-panes/
tomjakubowski · 2012-12-09
bash and anything else which uses readline offers a vi support mode [1]. Other shells, like zsh, allow you to use vi bindings as well [2].
[1]: http://blog.sanctum.geek.nz/vi-mode-in-bash/
[2]: http://zshwiki.org/home/zle/emacsandvikeys
s00pcan · 2012-08-11
This is the efficiency post that I kept coming back to when starting to use the command line more:
http://shebang.brandonmintern.com/tips-for-remote-unix-work-ssh-screen…
I'm seeing a lot of people respond about using similar setups with different tools. It doesn't really matter whether you use awesome/xmonad/ratpoison or something else, but I can tell that the people who built the tools I use think about computers the same way I do (https://wiki.archlinux.org/index.php/The_Arch_Way). I'm striving for this:
http://blog.sanctum.geek.nz/series/unix-as-ide/
pydave · 2012-07-29
How would you exclude the same kinds of files that ack does in grep without typing out the exclude patterns?
As described here ( http://blog.sanctum.geek.nz/default-grep-options/ ), you could use GREP_OPTIONS, but then you run into the problems here ( http://brainstorm.ubuntu.com/idea/24141/ ) -- scripts that use grep without clearing GREP_OPTIONS will fail.
Do you have an alias? Or another script that wraps grep?
JoelMcCracken · 2012-06-13
The full series: http://blog.sanctum.geek.nz/series/unix-as-ide/
tyrmored · 2012-06-10
I found NERDTree had no advantages for me over just plain :Vex. I'm sure it does have other features, but how whizbang does a file browser need to be, anyway?
Besides, anything you want to do outside of choosing files to edit in your editor should be done in a shell: http://blog.sanctum.geek.nz/unix-as-ide-editing/
a_a_r_o_n · 2012-02-14
"1. My self-indulgent dream: an IDE built around text editor integration. Think Eclipse, but constructed as an exoskeleton that Emacs and Vim could slip into and become real IDEs."
For the idea of Vim within an exoskeleton, you might be interested in these ideas:
http://blog.sanctum.geek.nz/series/unix-as-ide/
dave1010uk · 2012-02-10
The introductory post in this series is quite interesting too: http://blog.sanctum.geek.nz/unix-as-ide-introduction/
Presumably there will be some more posts in the "Unix as an IDE" series (http://blog.sanctum.geek.nz/series/unix-as-ide/)