外部编辑器自动导入图片 - altairwei/WizNotePlus GitHub Wiki

外部编辑器自动导入图片

1 手动导入图片到为知笔记

WizNotePlus v2.8.1 将会实现自动导入外部图片,但在 v2.8.0 版本可以按照如下变通方法导入外部图片:

  1. 在打开的文档页面点击鼠标右键,选择 “Open temporary file's location”,进入文档缓存位置。
  2. 在文档缓存位置找到 index_files 文件夹,如果没有就自己新建一个。
  3. 将外部图片手动复制到 index_files 文件夹。
  4. 在 Markdown 文档中通过相对路径引用你刚才拷贝的图片,比如 ![](index_files/IMG1210.jpg)
  5. 保存 Markdown 文档,检查 WizNotePlus 文档页面是否正确显示图片。

2 使用 Typora 自动导入图片

用户可以配置 Typora 的图片导入设置,实现在编辑时自动将图片导入为知笔记。

请按下图进行配置(注意勾选优先使用相对路径):

Typora_Import_Images

3 使用 VimScript 自动导入图片

如果你使用 Vim 作为为知笔记外部编辑器,那么可以参考 #63 来完成图片自动导入。

仅适用于Linux

首先你需要安装xclip,通过它来读取剪贴板内容。

将这段代码加入你的.vimrc文件

<leader>键位映射需要自行添加,如果不知道映射的键位,在命令模式输入map <leader>查看。

au FileType markdown nnoremap <silent> <leader>mp :call MarkdownClipboardImage()<cr>
function! MarkdownClipboardImage() abort
    " Create `img` directory if it doesn't exist
    let img_dir = expand('%:h') . '/index_files/'
    if !isdirectory(img_dir)
        silent call mkdir(img_dir)
    endif

    let targets = filter(
                \ systemlist('xclip -selection clipboard -t TARGETS -o'),
                \ 'v:val =~# ''image''')
    if empty(targets) | return | endif
    let mimetype = targets[0]
    let extension = split(mimetype, '/')[-1]

    let file_path = img_dir . strftime("%Y-%m-%d-%H:%M:%S") . '.'  . extension
    let output = system(printf('xclip -selection clipboard -t %s -o > %s',
                \ mimetype,file_path))
    if v:shell_error != 0
        ecohm  output
    else
        execute "normal! o![](" . file_path . ")"
    endif
endfunction

复制图片,在vim中输入<leader>mp,将自动保存图片并在下一行插入![](filepath)

需要说明的是,这里的复制图片是指复制图片内容而不是复制文件,后者剪贴板中保存的是图片文件的路径,如有需要可以自行实现。

参考资料: https://vi.stackexchange.com/questions/14114/paste-link-to-image-in-clipboard-when-editing-markdown

4 使用MarkEditor作为Wiz外部编辑器

主要用于解决WizNotePlus在使用MarkEditor进行外部编辑的时候可以自动保存图片到wiz,并且不影响原有MarkEditor作为独立的编辑器使用时的使用习惯。

4.1 在WizNotePlus中配置

  • 在WizNotePlus中添加外部编辑器

4.2 系统配置

  • 重启Mac操作系统,按CMD+R进入恢复模式
  • 在菜单中选择 实用工具-终端
  • 输入命令 csrutil disable 暂时关闭 rootless ,全部操作完后可以再重复此操作 csrutil enable 打开 rootless
  • 重启Mac进入系统
  • 访达 中按快捷键 CMD+Shift+G 输入 /private/var 回车进入目录
  • 在目录中找到 folders 文件夹,点击右键 显示简介
  • 在简介窗口中点击右下角小 🔒 图标,输入密码进行解锁
  • 在权限列表中找到 everyone 将后面的 只读 修改为 读和写

4.3 Markeditor 配置

  • 在Markeditor中双击键盘上 Option 或通过菜单 文件-工作目录管理器 打开工作目录管理器
  • 点击窗口右上角 +Add 按钮,在打开窗口时按快捷键 CMD+Shift+G ,输入 /private/var/folders 回车,点击 open 添加工作目录
  • 双击 Folders 工作目录,进入工作目录,点击快捷键 CMD+Shift+, 打开工作目录配置
  • 在工作目录配置中选择 图片 标签页,在路径中输入 ./index_files ,在归档方式中选择 保存退出
  • 其他工作目录的配置按照原先配置不用修改,即保持原有工作方式即可

⚠️ **GitHub.com Fallback** ⚠️