1 xlcoder166 2019-12-21 20:13:41 +08:00 点: ! 执行命令 |
2 jworg 2019-12-21 20:15:00 +08:00 ![]() 1, Ctrl + z 后台,fg 回来; 2, :! 执行 shell 命令; 3, vim 应该像 Emacs 有类似 eshell 的玩意,你可以搜一搜 |
![]() | 3 tinyproxy 2019-12-21 20:17:15 +08:00 via iPhone ![]() tmux |
4 Meltdown 2019-12-21 20:24:31 +08:00 via Android 或者另外开几个标签,alt 加数字来回切 |
![]() | 5 zeny620 2019-12-21 20:27:53 +08:00 ![]() :terminal |
6 blessingsi 2019-12-21 20:44:12 +08:00 via Android :shell |
![]() | 7 sazima 2019-12-21 20:47:20 +08:00 tmux |
8 nightwitch 2019-12-21 20:51:33 +08:00 python 不太清楚,vim 可以在 vim 内直接调用 make 编译 makefile,也有 make 命令可以使用。 F5 一键编译单文件 autocmd filetype c set makeprg=gcc\ -O2\ -lpthread\ -std=c99\ -g\ %\ -o\ %< autocmd filetype c nnoremap <F5>:silent make\|redraw!\|cw<CR> 要边写,边编译,边 debug 的话,tmux 或者 screen 应该是跑不掉的 |
![]() | 9 rudyyuan 2019-12-21 20:54:53 +08:00 via Android 推荐下俺的博客,欢迎跟我一起学习 https://vimjc.com |
![]() | 10 weixiangzhe 2019-12-21 20:59:31 +08:00 via Android vim 里现在也带 terminal 的,然后楼上说的都对 |
11 iamtricker 2019-12-21 21:51:16 +08:00 可以试试 tmux,也挺方便的。 |
![]() | 12 luassuns 2019-12-21 23:19:15 +08:00 asyncrun |
![]() | 13 rayhy 2019-12-21 23:21:48 +08:00 可以设置成类似 vscode 那样,按一下 ctrl+`就出来一个 terminal |
14 hellos 2019-12-21 23:32:35 +08:00 via Android :! python % |
15 hellos 2019-12-21 23:33:54 +08:00 via Android :!python % |
![]() | 16 sunwei0325 2019-12-22 02:37:59 +08:00 tmux 配合 'benmills/vimux' 这个插件 |
![]() | 17 cf020031308 2019-12-22 02:42:38 +08:00 用 tmux 分屏分窗都可以,一边用 vim,另一边还在命令行里,要编译要怎样随便。 vim 是个编辑器,专注于编辑功能就好。不要在编辑器里做该用 shell 做的事情,这一点也不酷。不要学 Emacs。 |
![]() | 18 MrUser 2019-12-22 08:54:28 +08:00 yum install screen $ screen $ vim file.ext ^a # ctrl+a 创建一个新窗口 $ cd ~/projects/xxx && make # 在新窗口 cd 并 make ^aa # 按两次 ctrl+a 回上一个窗口 |
![]() | 19 MrUser 2019-12-22 08:55:43 +08:00 更正:^a,c 才是创建窗口,即:ctrl+a, ctrl+c 到上一个窗口: ^a,p 到下一个窗口: ^a,n |
20 wjidea 2019-12-22 09:38:54 +08:00 tmux 走一波 |
21 zealot0630 2019-12-22 10:09:37 +08:00 via Android 为什么要切换,编译运行调试都可以在 vim 里面做啊 |
![]() | 22 jdhao 2019-12-22 13:01:48 +08:00 推荐楼上说的 asyncrun.vim ,利用了 vim 和 neovim 的 job 特性,可以直接异步执行程序然后把程序输出的结果输出到 quickfix list 中,不会阻塞 vim。使用 !python test.py 缺点是会阻塞 vim,程序执行的时候你不能执行任何操作了,只能等待命令结束,返回结果。 之前还写了一篇文章介绍 asyncrun 执行 python 程序,其他语言应该是一样设置的: https://jdhao.github.io/2019/12/09/vim_asynchronous_command_run/ |
![]() | 23 yujincheng08 2019-12-22 13:33:59 +08:00 asyncrun.vim 确实不错的 |
![]() | 24 Gave2620 2019-12-22 14:00:03 +08:00 via iPhone tmux 另外可以用 when-changed |
![]() | 25 Tink PRO tmux |
![]() | 26 PTLin 2019-12-22 15:52:55 +08:00 用:terminal,然后<C-w>w 循环切换窗口。 |
28 rainbowchou 2019-12-22 23:10:37 +08:00 我觉得你可以 把 vimtutor 走一遍,进阶的之后再说 |
29 fps23dot9999 2019-12-23 09:30:08 +08:00 1. Ctrl-Z 后台,fg 切回 2. tmux 3. vim8.0 以上支持:terminal 4. normal 命令前加!,调用 shell 命令 |
30 numgao OP @fps23dot9999 多谢回复 学习了不少!但有没有那种按 f5 之类的就能快捷编译的快捷键之类的呢 |
31 numgao OP @rainbowchou 是的 还是新手 |
32 fps23dot9999 2019-12-24 09:44:59 +08:00 @numgao 用 vim 的 make 集成,:help make,:help quickfix。8 楼都给了方案了。 |
![]() | 33 tomychen 2020-03-17 16:42:00 +08:00 terminal 分屏 tmux + tmux 分屏 |