DEV Community

Cover image for Create a New Note for Your Obsidian Vault from the Terminal
gokayburuc.dev
gokayburuc.dev

Posted on • Edited on

Create a New Note for Your Obsidian Vault from the Terminal

Here’s a grammar-checked and slightly expanded version of your text with added clarity:


New Note From Terminal

Create a New Note in Your Obsidian Vault Directly From the Terminal

#obsidian #terminal #vault

To set this up, follow the steps below:

  1. Open your .zshrc file (if you are using bash, open .bashrc instead) to add the following configuration:
nn() {
  # Navigate to the programming directory
  # WARN: Replace <vaultpath> with the actual path to your vault
  cd "$HOME/Documents/vaults/programming/00-inbox/" || return

  # Get the current date
  current_date=$(date +"%Y-%m-%d")

  # Create the filename using the current date and user input
  filename="${current_date}_$1.md"

  # Create the new note file
  touch "$filename"

  # FIXME: Enhance this function to add Markdown properties like tags, date, ID, or classes

  # Open the newly created file with Neovim
  nvim "$filename"
}
Enter fullscreen mode Exit fullscreen mode

What This Script Does

  • Automates Note Creation: This function allows you to create new notes in a specified "inbox" folder within your Obsidian vault.
  • Date Prefix: It automatically prefixes the filename with the current date in the YYYY-MM-DD format for better organization.
  • Custom Filenames: You can specify the rest of the filename as a parameter when calling the function.
  • Opens in Neovim: After creating the file, it opens it in Neovim for immediate editing.

How to Use It

  1. Add the above function to your .zshrc or .bashrc file and save it.
  2. Reload your shell configuration with:
   source ~/.zshrc  # For zsh users
   source ~/.bashrc  # For bash users
Enter fullscreen mode Exit fullscreen mode
  1. Create a new note by running:
   nn "note-title"
Enter fullscreen mode Exit fullscreen mode

This will create a file named YYYY-MM-DD_note-title.md in your designated folder.

Next Steps

  • Update the script to include Markdown properties like:
    • Tags (#example)
    • Date metadata (date: YYYY-MM-DD)
    • Unique identifiers or custom front matter
  • Use tools like echo or printf within the script to populate the file with these properties automatically.

This script makes note-taking more streamlined, especially for Obsidian users managing their notes through the terminal.

Top comments (0)