Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm looking for something really quick and simple: type note <title>, start writing, and exit. Ideally with a simple list to jump to a specific note.

Is there such a thing?

share|improve this question

migrated from stackoverflow.com Feb 14 '10 at 22:31

This question came from our site for professional and enthusiast programmers.

3  
you mean like vi to edit and ls to list them? –  asveikau Feb 14 '10 at 22:18
1  
You can use vi for editing and listing ;) –  Felix Feb 14 '10 at 22:24
1  
echo "Some note" > note-title.txt –  Brendan Long Feb 15 '10 at 1:43
1  
ahahha I just love unix people –  Pitto Jul 19 '11 at 16:39
    
Simpler than vi and more elaborate than echo: cat > note.txt. –  mouviciel Dec 1 '11 at 10:26

12 Answers 12

I would use Emacs

share|improve this answer
    
Emacs is simple? :P –  Anon. Feb 14 '10 at 22:24
    
No less so than vi mentioned above... –  Joe Internet Feb 14 '10 at 23:17
    
Emacs is not so simple to use. After thinking about it emacs is not the right solution for this. –  Zubair Feb 15 '10 at 9:13

This would be a pretty easy shell script to write, just take in input to a temp file, and then cat that to your note storage file when the input is closed.

What you really want is SideKick, but they never made a unix version. (ah for the good old days of TSR's ;)

share|improve this answer

tnote

share|improve this answer

Emacs has org-mode, which is tres spiffy.

OTOH, a hacky setup with some echoing cats might be the way to go.

share|improve this answer
    
+1 emacs,org-mode FTW –  bronzebeard Nov 26 '10 at 9:15

Personally I would recommend that you use GNU screen. It's a terminal/screen multiplexer (sort of like a TSR) which allows you to manage multiple terminal sessions through one connection.

For example, at work, I have a session which is running on the machine by my desk. Every day I connect to that from a terminal session on my laptop. From there I have different sessions running persistently --- an irssi session to the local/internal IRC server, sessions connected to MySQL databases, etc.

That same session runs for months at a time. I just keep detaching from and reconnecting to it. When I get to work I start with coffee; hang out using the company wireless from the coffee shop we have in the other building from me. After using that for while I go up to my desk (usually the connection is still good, otherwise I kill the ssh and reconnect). For meetings I go to the conference room and continue using the same connections. Any time I get disconnected, I just reconnect. When I use the VPN from home, I just reconnect to that same screen session. It saves the state of my work in over a dozen windows and gives me 10,000 lines of searchable backscroll for each separate terminal/window. (Much better than the backscroll features in irssi for example).

You could have one session/window in your screen session always opened to a ~/notes file for example. Perhaps that would be screen "0" (zero). So, whenever you want to take a note, you hit something like: [Ctrl]-[A], [0], type your note, then [Ctrl]-[A], [A] to go back to what you were doing. You could easily make a macro in GNU screen to set a key binding ... you could even make a shell alias or script to invoke the GNU window change for you. You could couple this with a editor macro to record the date/time stamp of each note. (In vi I use :r!date[Enter] to insert the data at the current line. So my "notes" -- a macro do to this would look like:

:map #9 o# JimD: ^[:r!date^M:-1j^M^Mo^I

... where #9 is the key to which we're binding it (vi special name for "Function key 9") and the macro is "open a line, containing "JimD: ", [Escape] and execute the :r!ate command, join this line to the previous line, insert a blank line, open a new line below that, and indent ... leaving us in insert mode.

(This isn't precisely what I do ... bit it's close).

This trick to all of this is just using the existing tools and adapt your workflow to make the best use of them. I make my screen sessions multi-user ... so I can have multiple terminal windows (xterms or MacOS X Terminal.app mostly) opened and all connected to this one GNU screen session. (For sanity's sake I have all my terminals set to the same dimensions ... these days that's 132x52). It's easy to have 10 or 20 sessions open under screen and to be displaying one of them in one terminal window, another in a different one. I can use the terminal's cut-n-paste or GNU screen's cut-n-paste features. (screen's are keyboard driven and generally more powerful ... so I normally only resort to the mouse when cuting to or from a browser or other window).

Often the "notes" editor session is also useful as an intermediary for cut-n-paste operations. Mark a large swath of text and paste it into notes; then edit that into a convenient form for the paste operation (or save that portion to a separate file for use in shell redirections using :.,$w pastebuf).

share|improve this answer
    
i think i like your answer the best, however it doesnt do everything. by using the tnotes command you can incorporate the note taking into a script. both versions have their ups and downs, but i think yours is the most bulletproof and doesnt rely on other programs. you seem to have really mastered screen and the command line and i think everyone can learn a lot by trying, exploring, and practicing. thanks for the encouragement and inspiration. –  Joshua Kersey Feb 16 '10 at 4:14

'todo.txt-cli' of 'gina trapani' ('lifehacker' fame) wrote some nice piece of work...

share|improve this answer

If you'd like a full blown program for task management, take a look at Taskwarrior.

See the 30 seconds tutorial.

share|improve this answer

Apparently I can't vote another comment up yet, but todo.sh by Gina Trapani is a fantastic command-line tool for task management. There are a couple tools built around it for doing project management (project.sh is one) and a nifty metrics presenter, birdseye.py. Check them out at Todo.txt, and todo.sh add-ons.

share|improve this answer

bixtep

Bixtep is a command line application for organizing notes in a flexible and customizable way in the Bash shell. Its uses span from quick note taking to managing excerpts, sources, and any other type of textual content. All data is stored in an XML file.

share|improve this answer
2  
Link-only answers aren't very useful. Can you give more details? Otherwise, your answer will likely be deleted. –  DragonLord Sep 6 '11 at 4:53

Have a look at devtodo:

DevTodo is a small command line application for maintaining lists of tasks. It stores tasks hierarchically, with each task given one of five priority levels. Data is stored as XML, so various XSLT templates can be executed on the XML to convert it into different formats (eg. HTML).

share|improve this answer

hnb

hierarchical notebook(hnb) is a curses program to structure many kinds of data in one place, for example addresses, to-do lists, ideas, book reviews or to store snippets of brainstorming. Writing structured documents and speech outlines.

The default format is XML but hnb can also export to ASCII and HTML. External programs may be used for more advanced conversions of the XML data.

It's great. Usually, it's in the distribution's repos.

share|improve this answer
    
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  soandos Jul 17 '12 at 2:14

Cjots, it seems however to be a frozen project.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.