标签 vim 下的文章

年轻人的第一个nvim插件


起步

去年七月,开发工具转至 nvim,同时写下《(不)习惯:向nvim的迁徙》,讲述自己拆解 IDE 需求,逐个击破重点难点,最后将“大迁徙”方案落地。一年以来,我优化了原有的 NvChad 配置,新写一些实用插件,将许多繁琐的操作浓缩进几个命令。当同事们还在界面上点来点去,我已经完成文件内容替换;当他们还在逐级进入文件夹,我已经把代码上传到了内部服务器。

使用一款自己可控的开发工具十分重要。如果你能写 JetBrains 系或是 VsCode 插件,后面的内容可以不用读。如果你写不了,我十分建议你转投 nvim 或 emacs。因为基于它们给自己写插件尤其简单,而你需要付出的,仅仅是记住一些快捷键。

本文旨在从零开始,教你写出属于自己的第一个 nvim 插件。当你发现原来写插件不过如此而已后,你在开发工具上的灵感将源源不断地喷涌而出。然后你会意识到,读完这篇文章,竟然只是长期快乐的开始。


(不)习惯:向nvim的迁徙


回溯

在说向 nvim 迁徙之前,我想先聊聊我为什么要用 nvim。

要是在我大四的时候问我为什么要折腾 vim,我会说为了装逼。当时为了入门 python 找来黑马视频,教爬虫的讲师一手 vim 秀花我的眼。我为此百般搜索,最后用上了 vimplus。它也是我在 github 留下的第一个 star。但这次只是浅尝则止。一方面,我大学的电脑是大一2000多块买的,在虚拟机中使用 vim 总给我一种很“卡”的感觉;另一方面,我对 vim 没做更多了解,快捷键、插件都不懂,在 vimplus 提供的众多能力中,我只用上了主题。


lemonade: 在 ssh nvim 中使用剪切板


在 neovim 中,已经对 clipboard 默认支持。如果你执行 :h clipboard,还能看到 nvim 贴心地为你提供不同平台需要的不同依赖说明。

- |g:clipboard|
- pbcopy, pbpaste (macOS)
- wl-copy, wl-paste (if $WAYLAND_DISPLAY is set)
- waycopy, waypaste (if $WAYLAND_DISPLAY is set)
- xclip (if $DISPLAY is set)
- xsel (if $DISPLAY is set)
- lemonade (for SSH) https://github.com/pocke/lemonade
- doitclient (for SSH) https://www.chiark.greenend.org.uk/~sgtatham/doit/
- win32yank (Windows)
- termux (via termux-clipboard-set, termux-clipboard-set)
- tmux (if $TMUX is set)


在 vim 中跳转到 py 源码


起步

作为一个后端开发者,用 vim 查看代码总是难以避免的事。打开代码之后,想跳转到某个接口实现的地方,如果该接口在一个文件中还好,可在不同文件中又是难以避免的事。

那么,如果是 python 项目,怎样才能优雅的跳到接口定义的地方去呢?


vim 的 molokai 主题太刺眼


在 vim 下表示最喜欢 molokai 主题,但不知道大家有没有觉得 molokai 主题下,白色和黄色都有些刺眼,乍一看会很不舒畅。经过多次尝试,终于找到与原主题相似,但没那么刺眼的替代色。