给自己写了个改善生活的 vi 小插件 vim-paste-easy

2017-01-20 15:05:18 +08:00
 pony279

https://github.com/roxma/vim-paste-easy

楼主常年通过 xshelll 连接远程机器使用 (n)vim ,每次用 <shift><Insert> 粘贴代码块之前都需要 :set paste,有点麻烦,于是写了个插件,检测字符插入的速度,如果间隔小于 0.01 秒自动 set paste,回到 normal 模式后再自动 set nopaste

3305 次点击
所在节点    程序员
12 条回复
wweir
2017-01-20 15:30:46 +08:00
已用,多谢
wweir
2017-01-20 15:41:22 +08:00
有问题,补全、 snippet 都会触发 set paste 的设定
pony279
2017-01-20 15:45:04 +08:00
@wweir

我用 python jedi-vim 的补全,没有触发这个问题,你的是哪个插件?

目前没有使用 snippet 插件,还没测试过
backing
2017-01-20 15:46:30 +08:00
思路不错,还有待改进。
我现在用的 set pastetoggle=<F2>
pony279
2017-01-20 15:50:47 +08:00
@wweir
我用 ultisnips 测试了下没有误触发,能否在 github 上给个复现过程?
codehz
2017-01-20 19:27:54 +08:00
neovim 不是自带粘贴保留格式功能么。。
pony279
2017-01-20 21:57:46 +08:00
@codehz 你确定你看懂了我的使用场景?还是我没看懂你的意思?
pony279
2017-01-20 21:59:00 +08:00
@backing 有待改进是指?能否明确说下?
ashfinal
2017-01-20 22:37:19 +08:00
nnoremap <silent> yo :call YankOnce()<CR>o
function! YankOnce()
let b:pastemode = &paste
set paste
autocmd InsertLeave *
\ if exists('b:pastemode') |
\ let &paste = b:pastemode |
\ unlet b:pastemode |
\ endif
endfunction

用的这个,感觉也够用。
itfanr
2017-01-21 08:26:57 +08:00
还得检测速度 牛啊
xcodebuild
2017-01-21 22:34:52 +08:00
赞思路
pony279
2017-01-22 10:05:10 +08:00
@wweir 我后面改进了频率检测,如果文件在 0.1 秒内没有任何变化,也会自动退出 paste 模式,这样应该可以解决误触发的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/335877

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX