vim 一键编译JAVA,c++
来源:互联网 发布:网络频繁掉线怎么回事 编辑:程序博客网 时间:2024/05/13 13:11
参考:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html
以及vim帮助文档
用这段代码可以实现f5编译
"C,C++ 按F5编译运行map <F5> :call CompileRunGcc()<CR>func! CompileRunGcc() exec "w" if &filetype == 'c' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'cpp' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'java' exec "!javac %" exec "!java %<" elseif &filetype == 'sh' :!./% endifendfunc
但是实际使用中会出现一个问题,就是编译JAVA的时候,会告诉找不到类。
在vim中使用命令:pwd查看当前工作目录,发现当前目录是在用户目录下而不是工作目录。也就是说,首先得进入了当前工作目录才能使用这个脚本。
vim中可以使用“%”代表当前文件路径,以及使用一些参数提取需要的内容
下面内容来自vim帮助文档
Examples, when the file name is "src/version.c", current dir"/home/mool/vim": > :p /home/mool/vim/src/version.c :p:. src/version.c :p:~ ~/vim/src/version.c :h src :p:h /home/mool/vim/src :p:h:h /home/mool/vim :t version.c :p:t version.c :r src/version :p:r /home/mool/vim/src/version :t:r version :e c :s?version?main? src/main.c :s?version?main?:p /home/mool/vim/src/main.c :p:gs?/?\\? \home\mool\vim\src\version.cExamples, when the file name is "src/version.c.gz": > :p /home/mool/vim/src/version.c.gz :e gz :e:e c.gz :e:e:e c.gz :e:e:r c :r src/version.c :r:e c :r:r src/version :r:r:r src/version
所以,可以用
:cd %:p:h
进入当前工作目录。注意vim中使用“:!”可以使用命令行命令,但是如果cd前面加了!就会发现编译的时候路径被重置了。不要加!才可以更改工作目录。
将下面代码加入.vimrc就可以实现f5编译了
map <F5> :call CompileRunGcc()<CR>imap <F5> <ESC>:call CompileRunGcc()<CR>func! CompileRunGcc() exec "w" exec "cd %:p:h" if &filetype == 'c' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'cpp' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'java' exec "!javac %" exec "!java %<" elseif &filetype == 'sh' :!./% endifendfunc
map只是单纯的映射,如果在插入模式下按F5就会变成在文档中插入F5而不执行函数。所以使用下面一行imap表示插入模式下的映射
0 0
- vim 一键编译运行c++,c,java,python, shell
- VIM一键编译C程序
- vim 一键编译JAVA,c++
- vim 一键编译运行C、C++等程序
- Ubuntu&红帽的vim通用配置(文件头+一键编译执行C/C++/Java单文件)
- Ubuntu&红帽的vim通用配置(文件头+一键编译执行C/C++/Java单文件)
- vim 一键编译运行
- Vim一键编译运行
- Vim 一键编译、连接、运行 C/C++ 单文件(Windows 与 Linux通用)
- Vim 一键编译、连接、运行 C/C++ 单文件(Windows 与 Linux通用)
- VIM-一键编译单个源文件
- vim 添加一键编译和运行
- VIM-一键编译单个源文件
- vim编译C/C++
- vim编译运行c
- 配置vim编译c/c++
- 【Vim使用】6.quickfix使用及一键编译
- VIM 编译C、C++、Fortran脚本
- oracle实现"limit"功能
- Gerrit 服务器搭建
- Linux IO模式及 select、poll、epoll详解
- 数据表的水平拆分
- 关于python搭建网站后台
- vim 一键编译JAVA,c++
- 读取iOS设备的代理设置
- 新第三方库,防止键盘遮挡输入框
- webservice调用天气预报已打包成jar文件
- okHttp简单封装使用
- LintCode:二叉树的层次遍历
- Linux常用命令(持续更新中...)
- 又回来了~继续记录工作上的技术点
- EventBus原理源码分析和使用