I used Notational Velocity for a few years for taking notes in school. I was really impressed by the search/create function and have tried using the same paradigm in my own projects. I couldn't find an equivalent on Linux, so I ended up using Emacs which isn't elegant in the same way.