如何在vi中编译C并运行它?

发布于 2024-10-28 21:13:29 字数 105 浏览 6 评论 0原文

环境:MacOS、gcc、Vim7.2

我知道我可以在 Emacs 中完成。编译代码并运行它。 我想知道如何在 vi 中做到这一点? 我不想经常从 vi 切换到终端。 谢谢! :)

Environment: MacOS, gcc, Vim7.2

I know I can do it in Emacs. Compile code and run it.
I am wondering how can I do it in vi?
I don't want to switch from vi to terminal a lot.
thanks! :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

离笑几人歌 2024-11-04 21:13:29

vim 确实有一个内置的 :make 命令,但它必须与编译器关联。一些例子是:

GNU gcc 编译器:

set makeprg=gcc\ -o\ %<\ %

Intel Fortran 编译器:

set makeprg=ifort\ %\ -o\ %<
  • \ 代表空格
  • % 输入文件
  • %<输出文件

vim does have a inbuilt :make command, but it has to be associated with the compiler. Some examples are:

GNU gcc compiler:

set makeprg=gcc\ -o\ %<\ %

Intel Fortran compiler:

set makeprg=ifort\ %\ -o\ %<
  • \ represents blank space
  • % input file
  • %< output file
难得心□动 2024-11-04 21:13:29

通过输入 ! 您可以顺便执行任何 shell 命令。
您可以键入 : 来编写命令,然后编写:

:!make

By typing ! you can execute any shell command by the way.
You can type : to write a command and then write :

:!make
愛放△進行李 2024-11-04 21:13:29

Vi 直接理解命令 make,因此您只需键入:

:make

Vi understands the command make directly, so you can just type:

:make
梦归所梦 2024-11-04 21:13:29

我喜欢将 shell 命令映射到引导键+键。例如,(我的前导键是 , (逗号),我相信默认情况下它是 \):

:map <leader>m :!make && ./program<CR>

然后,按 ,m (逗号然后m) 执行 make && shell 上的 ./program 是回车符)命令终止后,您将收到按回车键的提示,并且您的焦点将返回维姆。

您可能喜欢的另一个工作流程是使用 +Z 暂停 vim,在 shell 上运行命令,然后运行 ​​fg 切换回后台程序。

I like to map shell commands to a leader+key. For example, (my leader key is , (comma), it's \ by default I believe):

:map <leader>m :!make && ./program<CR>

Then, pressing ,m (comma then m) executes make && ./program on the shell (the <CR> is a carriage return) Once the command has terminated, you will get a prompt to press return, and your focus will go back go vim.

Another workflow you may like is suspending vim using <Control>+Z, running a command on the shell, and then running fg to switch back to the backgrounded program.

冰雪之触 2024-11-04 21:13:29

为了通过调用 :make 进行编译,您需要在该目录中有一个 Makefile。

In order to complile by just calling :make you need to have a Makefile in that directory.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文