c++ - 有没有办法向 Vim 添加自定义键盘快捷键以运行大量命令?

标签 c++ vim compilation shortcut

我有以下问题 - 每当我在 Vim 中写完一些 C++ 代码并想要编译和运行它时,我必须:

  1. 退出插入模式
  2. 使用命令:w保存文件>
  3. :! g++ *.cpp -o 程序名; ./programName 以便立即编译运行

在最后两条命令输入一次后,我显然是利用键盘上的上箭头键来获取最后几条命令,而不是在以后的编译和运行中一次又一次地写下来。

但对我来说还是有点慢。所以我想知道是否有某种方法可以创建一个键盘快捷键来输入最后两个命令,甚至可以同时执行所有这三个命令!

最佳答案

您可以使用 map将键映射到命令。 nmap对于正常模式,imap用于插入模式等

map <key> command

cpp编译你提到的应该是这样的:

autocmd FileType cpp nmap <buffer> <F5> :w<bar>!g++ -o %:r % && ./%:r<CR>

将此命令添加到您的 vimrc并会编译并运行当前的cpp文件。

FileType cpp - 检测 cpp直接文件,(不需要手动正则表达式)。
nmap - 用于在普通模式下映射键。
buffer - 对于当前缓冲区(在多次拆分的情况下)。
<F5> - 用于映射“F5”键。
执行的命令是::w | !g++ -o %:r % && ./%:r<CR>

在上面的命令中,%是文件名(带扩展名),而 %:r是文件名(没有扩展名),
<CR>代表“输入”按钮(回车)

关于c++ - 有没有办法向 Vim 添加自定义键盘快捷键以运行大量命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39975880/

相关文章:

vim supertab,寻找插入标签的最佳方式

c++ - C++程序在后台运行,没有管理员权限

java - 在模板类中包装 C++ 模板构造函数

c++ - 在父类中实现抽象类成员

ruby-on-rails - 在新窗口中打开 rails.vim 相关文件

vim - 如何在新选项卡中制作 Vim 快速修复列表启动文件?

c# - 为什么这个程序只产生三个警告?

c++ - Visual Studio 2015 - 用于确定要编译哪些项目的预构建事件

c++ - 我如何向只用 Fortran 77 编码的人解释面向对象的编程?

c++ - 什么可以编译得更快?每种方法的源代码和 header ,或者单个文件中的任何内容?