| Bookmarks.ps1 | ||
| bookmarks.sh | ||
| README.md | ||
Bookmarks for PowerShell
Bookmarks in PowerShell Blog post
I work in the terminal quite a bit, and needed a quick way to change directories between projects. I started this based off a similar project in bash called lazy-cd. This works similarly as it stores the bookmarks you add to a file, and if the bookmark is found, the terminal location will be set accordingly.
Functions
Check-Bookmark- Initializing function to create bookmark file if neededView-Bookmark- List all the bookmarks that have been added to the libraryAdd-Bookmark <name>- Adds the bookmark using the<name>and the current location you are inDelete-Bookmark <name>- Remove the specified bookmark line based on the<name>Goto-Bookmark <name>- If the bookmark<name>exists in the bookmark file, the terminal willSet-Locationto the path defined.
Aliases
| Alias | Function |
|---|---|
| bm | Goto-Bookmark |
| bma | Add-Bookmark |
| bmd | Delete-Bookmark |
| bmv | View-Bookmark |
Usage
Download the the bookmark.ps1 file and dot source it to your Microsoft.PowerShell_profile.ps1.
. "path\to\bookmarks.ps1"
PS C:> bmv
You have 4 Bookmarks
Bookmark Path
-------- ----
home C:\Users\username
website C:\git\cjerrington.github.io
snippets C:\git\snippets
root C:\
Bookmarks for Bash
Recreation of the PowerShell version, I just work a lot in Linux as well and wanted to recreate the same workflow.
Functions
Since the PowerShell method sets aliases, and those are easier to type, I stuck with the same alias names for the linux functions.
bmv- List all the bookmarks that have been added to the librarybma <name>- Adds the bookmark using the<name>and the current location you are inbmd <name>- Remove the specified bookmark line based on the<name>bm <name>- If the bookmark<name>exists in the bookmark file, the terminal willSet-Locationto the path defined.
Usage
Download the the bookmarks.sh file and dot source it to your ~/.bashrc or other profile config file.
source ~/.local/bin/bookmarks.sh
$ bmv
Bookmark Name Bookmark Path
website /home/clayton/git/cjerrington.github.io
home /home/clayton
downloads /home/clayton/Downloads
git /home/clayton/git