安装使用开源路由器固件 OpenWrt 最舒服的感觉是平常使用 Linux 的经验可以借用了。OpenWrt 上默认安装的是精简版本的 vim
(其实就是 vi
,301kB)。但是软件库中是有 vim-full
(831kB)甚至 vim-fuller
(2741kB)的。这列举的软件包的大小都是当前值,仅仅用作大概的比较。而依赖包都是一样的,包括 libc 和 libncurses。考虑到路由器上磁盘还有不少剩余,就果断安装了 vim-fuller
以方便使用代码高亮和文件比较功能。
更新:vim-fuller
安装后的 /overlay/upper/usr/share/vim
有 10+MB,搞得后面再安装别的应用很困难,所以还是用 vim-full
吧,安装后的 /overlay/upper/usr/share/vim
只有 4.0KB。不过就没有代码高亮了。
安装当然是很简单了,
opkg update && opkg install vim-full diffutils
实际上安装过程还带来了 terminfo
这个包。虽然不用,但是也不嫌它占地儿,反正才 6kB 大小 :p 。
安装了完全版本的,那么代码高亮已经默认启用了,下面就是开启行号显示和启用文件比较编辑功能了。等等,如果试了发现没有代码高亮,不要急,再试试这个 /usr/bin/vim
指令。如果没有问题,那就说明在路由器重启之后就会正常了。
然后 vim 的配置文件是 /usr/share/vim/vimrc
,如果需要就去编辑它吧。我的感觉是不需要编辑,默认的已经够了。但是为了后面使用文件比较的时候更方便,还是打开其行号显示功能更好。编辑那个配置文件,将最后两行前面的 "
去掉(就是取消注释)。如下所示,
" Uncomment out for line and/or relative numberig "set number "set rnu
改成,
" Uncomment out for line and/or relative numberig set number set rnu
当然可以直接用下面的 sed 指令来完成这种简单任务,
sed -i 's/"\?set number/set number/' /usr/share/vim/vimrc sed -i 's/"\?set rnu/set rnu/' /usr/share/vim/vimrc
启用文件比较编辑就比较简单了。先看看是否有 vimdiff
这个指令,
which vimdiff
如果没有咱就给创建一个。这个小窍门是我从 OpenWrt 的 Issue 列表上学来的。虽然系统已经具有了这样的功能,但是还差了个可执行文件。只要建立一个 vimdiff 的软连接就可以了,
ln -s /usr/bin/vim /usr/bin/vimdiff
比如升级软件包之后比较配置文件是否需要修改,
vimdiff /etc/config/luci /etc/config/luci-okg
如果 vimdiff
不能进行比较编辑的话,提示找不到 diff 命令,就就是 diffutils
软件包每安装好。参考这里。
最后,可以将文件 /usr/share/vim/vimrc
和 /usr/bin/vimdiff
加入到系统升级不被删列表里面(Web 界面,System,Backup / Flash Firmware,Configuration)。这样在升级系统的时候就会被保留了。当然导出配置文件的时候这些也会被导出。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/setup-vim-in-openwrt/>。转载请保留此信息及相应链接。
引用通告: 升级路由器固件 OpenWRT 18.06.5 到 19.07.0(更新 19.07.3) | 水景一页
引用通告: 路由器更新 OpenWrt 固件一般步骤 | 水景一页