还有另一个(但相当小众的)选择——在 Neovim 中使用拆分和终端缓冲区。过去,我曾在远程 Linux 服务器上使用过这样的配置,令人惊讶的是,该服务器安装了 Neovim,但没有安装 screen 或 tmux。我会启动 nvim,输入“:term”,如果需要更多的终端窗口,我会以拆分、标签页或直接在当前窗口中打开另一个终端缓冲区(分别为“:sp | term”/“:vsp | term”、“:tabnew | term”和“:term”)。
干得漂亮!但我仍然建议通过 CMake 调用构建和安装,分别为“cmake --build .”和“cmake --install .”,而不是直接调用“make”和“make install”。这更具可移植性,因为它提供了统一的抽象命令,而与使用的生成器无关(例如,“Unix Makefiles”与 Ninja)。这种方法对于额外的、顶级的构建脚本(例如,使用正确的参数/定义为项目调用 CMake 的 Python/Bash 脚本)或在将外部打包/依赖管理系统(如 Conan)集成到项目中时特别有用。
作者评论
还有另一个(但相当小众的)选择——在 Neovim 中使用拆分和终端缓冲区。过去,我曾在远程 Linux 服务器上使用过这样的配置,令人惊讶的是,该服务器安装了 Neovim,但没有安装 screen 或 tmux。
我会启动 nvim,输入“:term”,如果需要更多的终端窗口,我会以拆分、标签页或直接在当前窗口中打开另一个终端缓冲区(分别为“:sp | term”/“:vsp | term”、“:tabnew | term”和“:term”)。
干得漂亮!但我仍然建议通过 CMake 调用构建和安装,分别为“cmake --build .”和“cmake --install .”,而不是直接调用“make”和“make install”。这更具可移植性,因为它提供了统一的抽象命令,而与使用的生成器无关(例如,“Unix Makefiles”与 Ninja)。
这种方法对于额外的、顶级的构建脚本(例如,使用正确的参数/定义为项目调用 CMake 的 Python/Bash 脚本)或在将外部打包/依赖管理系统(如 Conan)集成到项目中时特别有用。