前言
笔者大概从五年前大二开始接触 vim 编辑器,当时有很多关于两款“史前”编辑器 Vim 和 Emacs 的争论,对于一些较早前的极客一般分为 Vim 党、 Emacs 党 和其他。 笔者自开始接触 Linux 系统就学习的 Vim ,一直使用到现在,几乎所有 IDE 、游览器和笔记系统Logseq都开启 vim 模式,也算是一个 Vim 党。然而,笔者无心参与 Vim 和 Emacs 两款编辑器之争;很明显,现代大型项目的开发,已经几乎必须采取像 idea、clion、vscode 这些优秀的 IDE ;当下,笔者更多地使用 Vim(终端界面)编写一些算法题,这样既减少成熟 IDE 自动的补全机制对于笔者自身的驯化(经常知道某些函数,然而自己拼不对,非常依赖IDE智能提示),又能让笔者对 Vim 操作和 shell 脚本编程更加熟练;此篇博客介绍笔者在终端界面下使用 Vim 编写算法题搭建的自动化编译运行环境。
相关环境
系统:macOS Monterey 12.5.1
vim:MacVim 8.2
文件检测:fswatch 1.16.0
Vim 配置
参考此篇博客:2022 最新 Mac Vim 开发环境的部署与配置
效果如下图(点击图片可以放大查看):
Shell 脚本
通过 Shell 脚本来实现当自己编写程序时,保存完后,自动进行编译及运行。
|
|
通过在终端的另一个标签下执行:
|
|
这样,每次对 template.cpp 文件进行修改并保存时,会自动触发 fswatch.sh 中编写的脚本,完成对程序的自动编译和运行。 该脚本的效果如下图(点击可以查看大图):
这样便可以愉快的刷题了,哈哈,加油!!!
问题
当在 Vim 进行一次保存时,fswatch 会触发两次,目前不清楚如何解决。