一個折騰的筆記系統

目標

  1. 快速收集
  2. 全文查找
  3. 支持markdown

基本思路

  1. 使用autohotkey腳原本支持與CintaNotes同樣的Ctrl+F12快速收集當前所選內容.
  2. 使用gvim自帶的vimgrep命令來實現全文查找
  3. 使用gvimvim-pandocvim-pandoc-syntax兩個插件來支持markdown, pandoc工具來轉換.

代碼

  1. 快速收集
^f12::
clipboard = ;首先清空剪貼板,使 ClipWait 命令能檢測到文本什麼時候被複制到了剪貼板中。
Send ^c
ClipWait ;等待文本被複制到剪貼板中。
filename=e:\dknlnl\notes\萬劍歸宗\note-%A_Now%.mkd
;filename auther date
FileAppend, `%note-%A_Now%`n, %filename%
FileAppend, `%zhou512031123@gmail.com`n, %filename%
FileAppend, `%%A_Now%`n, %filename%
FileAppend, # note-%A_Now%`n`n, %filename%

FileAppend, %clipboard%, %filename%
ToolTip, note saved to %filename%
Sleep 3000
ToolTip
return

^f11::
clipboard = ;首先清空剪貼板,使 ClipWait 命令能檢測到文本什麼時候被複制到了剪貼板中。
Send ^c
ClipWait ;等待文本被複制到剪貼板中。
filename=e:\dknlnl\notes\萬劍歸宗\note-%A_Now%.mkd
;filename auther date
FileAppend, `%note-%A_Now%`n, %filename%
FileAppend, `%zhou512031123@gmail.com`n, %filename%
FileAppend, `%%A_Now%`n`n, %filename%
FileAppend, # note-%A_Now%`n`n, %filename%

FileAppend, %clipboard%, %filename%
run gvim %filename%
return
  1. 全文查找
  • vimrc裏的代碼
"use vimgrep to search pattern
function! Ag(args)
    execute "silent! vimgrep /" . a:args . "/g ./**/*"
    botright copen
    exec "redraw!"
    "exec "only"
    "o will open the file in a new tab
    exec "nnoremap <silent> <buffer>o <C-w><CR><C-w>T"
endfunction
function! Ng(args)
    execute "cd e:/dknlnl/notes/"
    execute "silent! vimgrep /" . a:args . "/g ./**/*"
    botright copen
    exec "redraw!"
    "exec "only"
    "o will open the file in a new tab
    exec "nnoremap <silent> <buffer>o <C-w><CR><C-w>T"
endfunction
command! -nargs=* -complete=file Ag call Ag(<q-args>)
command! -nargs=* -complete=file Ng call Ng(<q-args>)
  • ng.bat裏的代碼

ng.bat是一個批處理, 用於放在$PATH環境變量用, 經過Ctrl+R來快帶調用.css

start gvim -c "Ng %1"
  1. 支持markdown
  • vundlerc裏的代碼

使用vundle來管理gvim插件.html

Bundle 'vim-pandoc/vim-pandoc'
Bundle 'vim-pandoc/vim-pandoc-syntax'
  • vimrc裏的代碼
autocmd FileType PANDOC map <silent> <Leader>pd :!pandoc -t docx -o %:r.docx %<cr>
autocmd FileType PANDOC map <silent> <Leader>pt :!pandoc -t html -c default.css -o %:r.html %<cr>

效果

調用查找

查找結果

其它

  • 爲何用vimgrep而不用其它查找工具好比grep, ack,ag等等

由於後面這三個在在某些狀況下彷佛查不出須要的東西. 具體什麼樣的文件沒有分析出來. 估計與文件編碼有關. 但不肯定.git

  • pandoc轉換失敗?

文件請使用utf-8編碼. set fileencoding=utf8vim

  • 本折騰涉及autohotkey, gvim, pandoc三種工具, 若是你剛好在用這三個工具, 卻是能夠折騰一下. 不然爲這一個簡陋的筆記引入三個工具實在太折騰了.markdown

  • 本折騰適合與公司內部不容許使用外部筆記,同步工具的狀況下的一種離線筆記. 固然離線筆記也有現成的工具,好比免費的職前面提到的CintaNotes, 收費的mybase等. 只不過我想使用markdown罷了. 我我還寫了一個CintaNotes插件, 用來支持markdown高亮: VimCintaNotes插件工具

相關文章
相關標籤/搜索