altairwei / altairwei/WizNotePlus
【分享】使用Vimscript完成图片插入
- Ngôn ngữ chính
- C++
- Star
- 598
- Fork
- 90
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
**仅适用于Linux**
首先你需要安装`xclip`,通过它来读取剪贴板内容。
将这段代码加入你的.vimrc文件
*``键位映射需要自行添加,如果不知道映射的键位,在命令模式输入`map `查看。*
```vim
au FileType markdown nnoremap mp :call MarkdownClipboardImage()
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"
endif
endfunction
```
复制图片,在vim中输入`mp`,将自动保存图片并在下一行插入``。
需要说明的是,**这里的复制图片是指复制图片内容而不是复制文件**,后者剪贴板中保存的是图片文件的路径,如有需要可以自行实现。
[参考](https://vi.stackexchange.com/questions/14114/paste-link-to-image-in-clipboard-when-editing-markdown)
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.