Some years ago I came up with a system which I still use extensively.
I added these lines to my .bashrc file:<p><pre><code>  log(){
  pushd ~&#x2F;logs;
  echo &gt;&gt; $*;
  date &gt;&gt; $*;
  cat &gt;&gt; $*;
  } 
</code></pre>
So whenever I have a piece of information that I&#x27;d like to keep - a thought on a project, a word from a foreign language I am learning, ideas for christmas gifts, some bash-fu and so on... -   I fire up a terminal (mod+return, in my case) and enter<p><pre><code>  log filename
</code></pre>
Now I can type down that piece of information right away. File names could be &quot;english&quot; (for vocab) or &quot;xmas&quot; (for gifts) or the name of a project. So either the file already exists and I thus add to it or a new file is created instantly.<p>It is super quick and non-distracting (i.e. I don&#x27;t &#x27;accidentally&#x27; get carried away by looking at previous thoughts or tweaking the config of a journal application etc.) What&#x27;s more I find it very convenient that the function automatically adds the current date to each entry.<p>Btw, I&#x27;ve got another function called &quot;show&quot; which I can call whenever I feel like just briefly skimming through a file<p><pre><code>  show(){
  cat ~&#x2F;logs&#x2F;$*;
  }
</code></pre>
For my daily todo list I enjoy abusing markdown syntax. I do this because syntax highlighting makes it easier to quickly scan through the files. (I use gedit with the monokai theme)<p>So at the beginning the list looks something likes this:<p>Task 1<p>Task 2<p>&lt;!-- some details on task 2 --&gt;<p>Task3<p>Task4<p>&lt;!-- some details on task 4 --&gt;<p>(comments turn gray so that actual tasks stand out)<p>Whenever I begin a task I place a &quot;-&quot; in front of its line. Now I see this red minus and thus know that I have started a task that needs to be completed. When I&#x27;ve finished the task I replace the - with a # and now the whole line turns blue. I&#x27;ve line numbers enabled in gedit so when I want to change the status of an item I simply hit ctrl+i and enter the corresponding line number. Some tasks occur daily, at least for a while. In that case I revisit a task&#x27;s line again at the end of the day and remove the &quot;#&quot;. Similarly, when I want to delete an unnecessary task I go to its line and hit ctrl+d and thus delete it.
It is super primitive but I like it. ;)