How I use Obsidian for University

In this article I will do my best to explain my note taking workflow using Obsidian. I mainly take notes during lectures to be used for solving exercise problems and as reference material to study before exams. I think I have a good system going and I would like to share it here.

You can find my notes here.

My Obsidian vault growing!

The “just start a note” Principle

I firmly believe that it should be as easy as possible to begin a new note. There should never be a situation where you want to write something down, but don’t know where to write it.

Because of this, I do not put my notes in separate directories depending on their content. If I hear something during a lecture that I think is useful and I do not immediately know where it should go, I create a new note in the root of the vault with Ctrl+n. I give the file a name and use a template (Alt+e) to populate the note with the following content:

# <file-name>



---
#notag

I am now ready to write. This process takes at most five seconds.

The key part is at the bottom:

---         <- This creates a horizontal line
#notag      <- This is a placeholder tag to be changed later

A tag is automatically inserted. To assign this note to a subject I change the #notag to something else. If I do not know where the note belongs, I leave it for later.

It is trivial to later find all uncategorised files by searching for the #notag-tag.

Cleaning the Vault

This, of course, creates a ton of notes in the root of your vault mixed with pasted images and this is where my one folder system comes into play: notes go in the “Notes” folder, and images go in the “Images” folder. Sorting files like this is very simple and also makes it easy to automate as mentioned later.

Tag Organization with Dataview

Because all my notes are in the same directory, the file explorer is useless for finding notes related to a subject. Instead I use the Dataview plugin which makes it possible to query your notes as a database and create dynamic lists and tables from the output.

Subjects

Each subject in my vault has its own note. This is the entry point to the subject. A subject note could look like this:

# Multi-variable Math
Math involving integration in and over multi-dimensional spaces.

A nice [YouTube playlist](https://www.youtube.com/playlist?list=PLSQl0a2vh4HC5feHa6Rc5c0wbRTx56nF7)

```dataview
list
from #multivariablemath
sort file.name
```

---
#matematik #subject

It has a title and a short description as any other note could have. It does however also contain a Dataview query. When this code block is rendered, it automatically generates a list of all the notes with the tag #multivariablemath. The result looks something like this:

  • Arc Length
  • Curl
  • Divergence
  • Gauss’s Divergence Theorem
  • Green’s Theorem
  • Laplacian Operator
  • Line Integrals
  • Partial Differential Equations
  • Poissin’s Equation
  • Surface Integrals
  • The Heat Equation
  • The Wave Equation
  • Vector Fields

The key part is that this list is dynamic! It will automatically be updated when I create new notes on the subject.

Have a Home

While this is all well and good, sometimes you just want an overview of the subjects in your vault. To solve this I have a note called “HOME” at the root of my vault. It is the only (excluding the README) note that gets to stay in the root without getting moved to “Notes”. Again using dataview, this note shows the my recently edited notes as well as a list of all the subjects in my vault. The source code to accomplish this can be found here.

I use the Homepage plugin to open my home page on startup.

Why use Tags instead of Folders?

Tags allow me to postpone assigning a subject to a note when creating it. It also allows one note to concern multiple subjects at once, which can simplify note organization and makes it easy to re-categorize notes without leaving them. If you are using vim keybindings, like I am, it is trivially easy to jump to the bottom of a file (G), add a tag and jump back to where you were (Ctrl+o).

While this system it great, it does rely on an external plugin for navigating your notes which can be a deal breaker for some.

Backups with Git

I like to use Git to version control and backup my notes. I keep two git repositories for my notes: one for my actual notes and attachments, and one for the “.obsidian” directory which holds all the settings and plugins used by Obsidian. I have split these up, as it allows myself and others to use my notes without having to also use my settings; If notes and settings are part of the same repository and the user changes a setting, the user cannot pull new changes before either restoring the original setting or pushing the new settings, forcing the setting onto other machines using the vault. Separating notes and settings allows me to write notes on my workstation and laptop using different settings and themes.

My notes are backed up every 20 minutes using the Obsidian Git plugin.

Shell Commands and Linux

From here on, my workflow is quite Linux specific.

One of my absolute favorite plugins for Obsidian is Shell commands. It simply allows you to run shell commands from within your vault. This is immensely useful. Want to open the current note your favorite editor? Simply write a line of bash into the plugin’s settings and bind it to a hotkey. You can also set up commands to automatically run at startup or some other event.

Opening NeoVim from within Obsidian with the “Shell commands” plugin.

Here is a list of little things that I use this plugin for:

  • Automatically moving notes and images from the vault root into their respective folders (cleaning)
  • Backing up the settings repository
  • Opening a note in NeoVim (As shown in the video)
  • Opening a terminal in the vault folder
  • Google selected text
  • Convert all Xournal++ files in vault to PDFs

This plugin lets me interact with the rest of my computer from within Obsidian and I absolutely love it!

Install Script

My vault contains an install script. It was created mostly for fun, and I have spent way longer writing it, than I will ever spend installing my notes on a computer myself. I do not recommend creating one unless you feel that it would be fun.

It is however a joy to paste a command into the terminal and see it first clone your notes and then your settings.

External Vaults

Some of my classmates also write notes in Obsidian and are willing to share their notes with me. I have therefore created an option (--external) for the install script that clones their notes into a folder called “External”. I set the option in Obsidian to ignore this directory when searching, creating the graph and so on. I can however still search through all notes, including external ones, using the Omnisearch plugin.

Honorable Plugin Mentions

  • tag-wrangler
  • note-refactor-obsidian