使用 vim 来记录印象笔记

使用 vim 来记录印象笔记

我寻找一种从 vim 编辑 evernote 笔记的方法

我从这个开始

#!/bin/bash
evernoteDir="$HOME/Library/Application*Support/Evernote/data"
dataDir=$(ls -trlh $evernoteDir| tail -n 1| awk '{print $NF}')
contentDir="$evernoteDir/$dataDir/content"
file=$(ls -trlh $contentDir | tail -n 1| awk '{print $NF}')
vim -c 's/div>/div>\r/g' $contentDir/$file/content.html

https://gist.github.com/1256416

或者也许为此创建一个 vim 插件...

你有什么建议吗?

编辑

对于 html 格式的 Evernote 笔记的更简单版本,我制作了这个 vim 函数

" Markup function {{{ 
    fun! MkdToHtml() "{{{
        " markdown to html
        silent! execute '%s/  $/<br\/>/g'
        silent! execute '%s/\*\*\(.*\)\*\*/<b>\1<\/b>/g'
        silent! execute '%s/\t*###\(.*\)/<H3>\1<\/H3>/g'
    endf "}}}
    command! -complete=command MkdToHtml call MkdToHtml()
    nn <silent> <leader>mm :MkdToHtml<CR>
" }}} 

以及用于打开最后编辑的笔记的 vim 函数

fun! LastEvernote() "{{{
    " a better solution is with evernote api
    let evernoteDir=expand("$HOME")."/Library/Application*Support/Evernote/data"
    let dataDir=system("ls -trlh ".evernoteDir."| tail -n 1| awk '{print $NF}'")
    let contentDir=evernoteDir."/".dataDir."/content"
    let contentDir=substitute(contentDir,"\n","",'g')
    let note=system("ls -trlh ".contentDir." | tail -n 1| awk '{print $NF}'")
    let note=substitute(note,"\n","",'g')
    sil! exec 'sp '.contentDir.'/'.note.'/content.html'
    sil! exec '1s/>/>\r/g'
    sil! exec '%s/<br.*\/>/<br\/>\r/g'
    sil! exec '%s/<\//\r<\//g'
    sil! exec 'g/^\s*$/d'
    normal gg
    sil! exec '1,4fo'
    sil! exec '$-1,$fo'
endf

https://gist.github.com/1289727

答案1

你试过 Geeknote (http://www.geeknote.me/

“使用您喜欢的任何控制台编辑器编辑您的 Evernote 笔记 - nano、vi、vim、mcedit 等...保存更改,Geeknote 会自动将其上传到 Evernote。”

相关内容