命令行備忘錄 cli-memo

来源:http://www.cnblogs.com/iforever/archive/2017/09/10/7500133.html
-Advertisement-
Play Games

前言 有時候想用一個簡潔點兒的備忘錄,發現沒有簡潔好用的,於是就想著開發一個,秉著簡潔 的思想,所以連界面都沒有,只能通過命令行來操作(儘可能的將命令簡化)。設計的時候 借鑒了git分支的思想,每個備忘錄都等同於一個分支,我們可以創建多個備忘錄。功能上 可以查看所有備忘錄的名稱,切換備忘錄,添加備忘 ...


前言

有時候想用一個簡潔點兒的備忘錄,發現沒有簡潔好用的,於是就想著開發一個,秉著簡潔
的思想,所以連界面都沒有,只能通過命令行來操作(儘可能的將命令簡化)。設計的時候
借鑒了git分支的思想,每個備忘錄都等同於一個分支,我們可以創建多個備忘錄。功能上
可以查看所有備忘錄的名稱,切換備忘錄,添加備忘內容,“已完成”備忘錄內容,刪除備忘
錄,刪除備忘錄內容。

備忘錄相關的數據文件是放在當前用戶的家目錄裡面的,有個隱藏的文件夾~/.memo/,這裡面
包含了所有的備忘錄信息。

實現是通過PHP實現的,安裝需要通過composer安裝,安裝完成之後就可以使用memo xxx命令
來管理你的備忘錄了。

使用介紹

項目地址:https://github.com/aizuyan/cli-memo

win下麵目前支持的不是很好

這裡面的所有備忘錄、以及備忘錄中的備忘都有一個短名稱shortName,截取對應中文名
md5的前幾位,以便於對其進行操作(比如,切換備忘錄、刪除備忘錄、完成備忘等),避免
直接對冗長名稱、數據操作,這也借鑒了git的提交版本。

安裝

這個可以通過composer安裝在全局,再將bin/目錄加入到PATH中,就可以直接使用了:

composer global require aizuyan/cli-memo

上面這個命令會包安裝到~/.composer/目錄下麵,再將/Users/ruitao/.composer/vendor/bin
路徑配置到系統路徑PATH中就可以直接使用memo命令了:

linux下麵我是配置在~/.bashrc裡面的:
PATH=$PATH:/usr/local/bin:/Users/ruitao/.composer/vendor/bin

memo help

memo help,這個命令展示了memo的所有命令列表:

➜  ~ memo help
  create    name                        創建新的備忘錄
  change    short name                  切換備忘錄
  del       short name                  刪除備忘錄

  add       memo string                 給當前的備忘錄添加一條記錄
  done      memo string short name      標記當前備忘錄的某條備忘為已完成

  show                                  列出當前備忘錄所有備忘
  list                                  列出所有的備忘錄名稱
memo init

memo init,這個命令用來初始化軟體,包括在用戶目錄下新建必要的文件、文件夾,執行
成功之後,會在家目錄下麵創建如下的內容:
/Users/ruitao/.memo/是備忘錄軟體數據存放目錄,head_memo_name_record用來記錄
當前備忘錄的名稱,initFlag文件用來標記是否初始化過,memo/目錄存放具體的備忘錄
信息,每個備忘錄一個文件。預設會創建一個預設備忘錄,並將當前備忘錄指向他。

/Users/ruitao/.memo/
├── head_memo_name_record
├── initFlag
└── memo/
    └── 預設備忘錄
memo create

memo create 工作備忘錄,這個命令用來創建備忘錄,創建完成之後會在備忘錄數據目錄
創建/Users/ruitao/.memo/memo/工作備忘錄文件

memo list

memo list,這個命令用來列出備忘錄,如下麵所示,小手指向的就是當前所在的備忘錄,
另外備忘錄前面有一串字母,這裡是備忘錄的標識,後面刪除、切換備忘錄的時候都要用到
他。

➜  cli-memo git:(master) bin/memo list
備忘錄列表
  ☞  a69b36c0 預設備忘錄
     8c13e2c7 工作備忘錄
memo change

memo change <shortName>,這個命令用來切換當前的備忘錄,跟git切換分支類似。就像
下麵這樣,切換之後,就會切換到備忘錄[4be22fcf MCN備忘錄]。

➜  ~ memo list
備忘錄列表
  ☞  45e43b27 生活備忘錄
     4be22fcf MCN備忘錄
     8c13e2c7 工作備忘錄
     a69b36c0 預設備忘錄
➜  ~ memo change 4be22fcf
切換備忘錄[4be22fcf => MCN備忘錄]成功
➜  ~ memo list
備忘錄列表
  ☞  4be22fcf MCN備忘錄
     8c13e2c7 工作備忘錄
     45e43b27 生活備忘錄
     a69b36c0 預設備忘錄
memo del

memo del <shortName>,這個命令用來刪除不需要的備忘錄,但是不能刪除當前正在使用的分支
,就像下麵這樣:

➜  ~ memo list
備忘錄列表
  ☞  45e43b27 生活備忘錄
     4be22fcf MCN備忘錄
     8c13e2c7 工作備忘錄
     a69b36c0 預設備忘錄
➜  ~ memo del a69b36c0
刪除備忘錄[a69b36c0 => 預設備忘錄]成功
➜  ~ memo list
備忘錄列表
  ☞  45e43b27 生活備忘錄
     4be22fcf MCN備忘錄
     8c13e2c7 工作備忘錄
[memo show]|[memo]

memo show和命令memo是等價的,為了便於查看,預設命令設為memo show,如下所示:
其中分為兩大類:待完成事項、已完成事項,待完成事項排列在前面,標記為已完成的事項
排列在後面。

➜  ~ memo show
生活備忘錄
  待完成事項:
    ☞  5e23fd6d 每天堅持遠眺
    ☞  7f3fc212 翻譯文章《The Incredible Growth of Python》
  已完成事項:
    ✔  5a71bbc5 每天看書兩個小時
➜  ~ memo
生活備忘錄
  待完成事項:
    ☞  5e23fd6d 每天堅持遠眺
    ☞  7f3fc212 翻譯文章《The Incredible Growth of Python》
  已完成事項:
    ✔  5a71bbc5 每天看書兩個小時
memo add

memo add <string>,在當前備忘錄添加備忘記錄,如下所示:

➜  ~ memo add 今天提測同步數據介面
添加備忘[今天提測同步數據介面]到備忘錄[生活備忘錄]成功
➜  ~ memo
生活備忘錄
  待完成事項:
    ☞  5e23fd6d 每天堅持遠眺
    ☞  7f3fc212 翻譯文章《The Incredible Growth of Python》
    ☞  887bad83 今天提測同步數據介面
  已完成事項:
    ✔  5a71bbc5 每天看書兩個小時
memo done

memo done <shortName>,在當前備忘錄標記shortName對應的備忘記錄為已完成,如下
所示:

➜  ~ memo done 887bad83
備忘[887bad83 => 今天提測同步數據介面]標記已完成成功
➜  ~ memo
生活備忘錄
  待完成事項:
    ☞  5e23fd6d 每天堅持遠眺
    ☞  7f3fc212 翻譯文章《The Incredible Growth of Python》
  已完成事項:
    ✔  5a71bbc5 每天看書兩個小時
    ✔  887bad83 今天提測同步數據介面

TODO

  1. 因為短名稱shortName使用的是md5的前幾位,所以還是有一定幾率重覆的,這裡需要解決下。
  2. 添加時間概念,新建的時候添加什麼時候提醒,發送郵件。
  3. 解決win顯示問題,沒顏色可以顯示整齊點兒。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • step one:(找入口) using System.Reflection; //引用需要用到的命名空間 做任何事都要有開始的地方,不例外,反射也要先找到反射的入口,舉個慄子: Assembly assemble = Assembly.Load("SqlServer"); //反射的入口::動態的 ...
  • WebForm.aspx 頁面通過 AJAX 訪問WebForm.aspx.cs類中的方法,獲取數據 WebForm1.aspx 頁面 (原生AJAX請求,寫法一) WebForm1.aspx 頁面 (AJAX請求,寫法二,一般情況下我們用這種) WebForm1.aspx.cs 如果你是try.. ...
  • APM非同步編程模式最具代表性的特點是:一個非同步功能由以Begin開頭、End開頭的兩個方法組成。Begin開頭的方法表示啟動非同步功能的執行,End開頭的方法表示等待非同步功能執行結束並返回執行結果。 ...
  • 1 Maven的簡介 是apache下的一個開源項目,是純java開發,並且只是用來管理java項目的 Svn eclipse maven量級 同一個項目,普通的傳統項目(24M)而Maven項目只需要(724KB) 分析:maven項目為什麼這麼小?沒有jar。 需要jar嗎?肯定需要。沒有存在於 ...
  • 超過十年以上,沒有比解釋器全局鎖(GIL)讓Python新手和專家更有挫折感或者更有好奇心。 Python的底層 要理解GIL的含義,我們需要從Python的基礎講起。像C++這樣的語言是編譯型語言,所謂編譯型語言,是指程式輸入到編譯器,編譯器再根據語言的語法進行解析,然後翻譯成語言獨立的中間表示, ...
  • 前段時間應因緣梳理了下自己的 Java 知識體系, 成文一篇望能幫到即將走進或正在 Java 世界跋涉的程式員們。 第一張,基礎圖 大約在 2003 年我開始知道 Java 的(當時還在用 Delphi),但到 2004 年本科畢業才開始正式決定學習 Java。 那時覺得用 Delphi 寫 C/S ...
  • Resource有兩種使用場景 1.Resource 當Resource後面沒帶參數的時候是根據它所註釋的屬性名稱到applicationContext.xml文件中查找是否有bean的id與之匹配,如果有,就將對應的class賦值給它, 如果沒有則根據註釋屬性的類型到配置文件進行匹配,如果有就賦值 ...
  • 所謂JDBC就是利用java與資料庫相連接的技術,從資料庫獲取既有的信息或者把網頁上的信息存儲到資料庫。 這裡簡單的介紹公司的一個小項目中的一部分,由於代碼較多,所以用圖片形式進行展示。源碼請查看源碼庫,稍後上傳。 圖1-信息圖 圖2-用戶圖 如上圖所示的兩個模塊,對應著資料庫當中的兩張表。第一張表 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...