`
iMzw
  • 浏览: 193524 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用VIM开发Flex - 自动编译

    博客分类:
  • Flex
阅读更多
Flex Builder 还是不错地, 它继承了一部分Eclipse的优点, 还有设计器, 可是它$249 的价格让我难以接受,要是RMB249我肯定会买. 用破解版,变相的盗版(冒充学生,申请个免费的)又都非我所愿. 用了60天试用期过后,只好不用了.于是就尝试其他的工具, 在深入的使用VIM开发一个月后,发现我完全可以不用Flex Builder. 于是就有了上一篇文章 使用VIM开发Flex - 基础环境设置.


我很懒,并且习惯了Eclipse的自动编译功能,刚开始用VIM时,总是调试了半天,结果发现只修改了源文件,没有编译.

鉴于以上情况,我就考虑实现在保存文件时自动编译功能,当时的想法是监控文件系统.结果就有这篇文章 请教一个问题 - 监控文件系统变化( C 语言) 这个基本可以实现,问题是只能监控一个目录,不能监控子目录,而且占用不少CPU资源. 后来就换了个思路, 像Eclipse一样通过在保存文件的时候调用编译器.

以下内容就是通过扩展VIM. 使用VIM的Auto Command功能实现.已经满足我的需要.

编写编译Flex的shell脚本.更多具体参数含义请查询Flex文档.
debug: 生成可以Debug的SWF
incremental: 增量编译
library-path: 添加类库
output: 输出SWF的文件名

#!/bin/sh

echo "------------------------------------"
echo "||  Building application..."    
echo "------------------------------------"

mxmlc --debug=true --incremental=true --library-path+=xxx.swc --output=test.swf  test.mxml 

echo "------------------------------------"
echo "||  Done!"
echo "------------------------------------"


扩展VIM.增加文件保存自动编译功能.就是通过在文件保存的时候调用上面的 shell 脚本.
在~/.vimrc 添加如下代码.


function BuildFlex()
  let fname = getcwd() . "/fxbuild.sh"
  echo "Build script is " . fname
  if executable( fname ) 
    ! ./build.sh
  endif
endfunction


au BufWritePost *.mxml call BuildFlex()
au BufWritePost *.as  call BuildFlex()



BuildFlex 函数用来执行 shell 脚本来编译Flex应用.
最后两行是Auto command, 在保存的时候调用BuildFlex函数.

这样, 在你保存的时候就可以自动编译了.

注意:
打开,新建文件都要在fxbuild.sh相同目录.
例如:
假如目录结构如下
- fxbuild.sh
- Main.mxml
- view
  -LoginView.mxml
  -ProductView.mxml
- events
  - UserEvent.as
  - ProductEvent.as

我们打开view目录下的文件要在fxbuild.sh所在目录执行

vim view/LoginView.mxml

而不能进入到view目录执行

vim LoginView.mxml

新建文件也一样.

当你在VIM中通过 :w 命令保存文件的时候,你应该可以看到类似如下:



--
It's Neal Mi.
I'm a dog chasing cars. I wouldn't know what to do if I caught one.






  • 大小: 84.6 KB
1
1
分享到:
评论
1 楼 xwkp2008 2008-11-29  
博主很有研究精神,一并感谢博主的共享!很早就有想法用vim开发但是一直没有成功

相关推荐

    vim-starter-kit:准备好Vim进行真正的编码

    目录目录浏览器Doxygen评论语法突出显示增强常用功能命令行交互执行任何脚本设置命令行参数运行Make命令(Makefile) 使用QuickFix(调试窗口) 编译,运行C / C ++代码编译,运行Lex / Flex和Yacc / Bison代码编译...

    河北工程大学编译原理课设 题目:使用Flex对输入内容进行正则匹配

    Flex是一款广泛使用的词法分析工具,它可以自动生成词法分析器,识别源代码中的不同符号和结构。 在Flex的使用过程中,设计的主要功能有: 1. **添加行号**:这一步是为了在源代码中插入行号,方便后续的调试和...

    postgresql &pg源码安装编译教程

    在开始安装之前,需要准备好基础环境,包括配置主机的/etc/hosts文件,使用vim编辑器编辑文件,添加以下内容: ``` 192.168.99.50 postgres01 192.168.99.51 postgres02 ``` 依赖包安装 接下来,需要安装依赖包,...

    android源码的编译.pdf

    根据文档中的描述,推荐使用Sun JDK 1.5版本,尽管也可以使用1.6版本进行部分编译工作。 ```sh sudo apt-get install sun-java6-jre sudo apt-get install sun-java6-plugin sudo apt-get install sun-java6-fonts ...

    x3399 开发文档

    根据提供的文档信息,我们可以总结出以下关键知识点,主要聚焦于X3399 Android平台的开发环境搭建、工具使用、源码管理与编译、以及最终的映像文件烧录等几个方面。 ### 1. 开发平台的搭建 #### 1.1 使用U盘安装...

    crosstool创建交叉编译工具链(Ubuntu).docx

    在Ubuntu下,需要安装一些基础的编译工具和开发库,如bison、flex、build-essential、patch和libncurses5-dev。使用`sudo apt-get install`命令来安装它们。 3. **替换ld和as**: 由于Ubuntu 10.04自带的binutils...

    RK3288系统编译及环境搭建sop.zip_3288编译_RK3288_rk3288编译_环境搭建_系统编译

    3. **开发工具**:需要安装Git用于版本控制,以及必要的文本编辑器或IDE,如Vim、Emacs或Eclipse。 4. **内核源码**:从官方网站获取最新的Linux内核源码,例如Linux Kernel官方网站或Rockchip的官方仓库。 5. **...

    mx&m8烧录文档

    ### mx&m8烧录文档知识点解析 ...以上知识点详细介绍了 MX&M8 平台上开发环境的搭建、代码的下载与编译、程序的烧录方法、调试工具的使用以及基本功能的修改等内容,对于从事此类硬件开发的技术人员来说非常实用。

    Android静默安装详细方法步骤

    编译 Android 源码需要使用到 Java 语言和一些必要的库,包括 git-core、gnupg、flex、bison、gperf、build-essential、zip、curl、zlib1g-dev、gcc-multilib、g++-multilib、libc6-dev-i386、lib32ncurses5-dev、ia...

    Android编译环境的配置[归类].pdf

    在终端中使用`vim /etc/apt/sources.list`打开文件,在末尾添加如下行: ``` deb http://ubuntu.srt.cn/ubuntu/ jaunty multiverse deb http://ubuntu.srt.cn/ubuntu/ jaunty-updates multiverse ``` 接着,使用`...

    nios2架构uclinux(nios2-linux-20080619开发包)的过程

    1. **下载 uClinux 开发包**: 使用 `wget` 命令从官方 FTP 下载最新的 uClinux 开发包。 ```bash [root@localhost zhaozhilei]# wget ftp://ftp.altera.com/outgoing/nios2-linux-20080619.tar ``` 2. **解压...

    Linux 完全定制指南(中文)

    5. 构建临时编译环境 简介 工具链技术说明 Binutils-2.16.1 - 第一遍 GCC-4.0.3 - 第一遍 Linux-Libc-Headers-2.6.12.0 Glibc-2.3.6 调整工具链 Tcl-8.4.13 Expect-5.43.0 DejaGNU-1.4.4 GCC-4.0.3 - 第二...

    android开发环境搭建.txt

    为了能够在Linux环境下编译Android源码,需要安装一系列开发工具和库文件。 ```bash sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia...

    openHarmony基础使用部分

    ### openHarmony基础使用知识点详解 #### 一、OpenHarmony简介与Ubuntu环境配置 **OpenHarmony**是由开放原子开源基金会...希望本文能帮助大家更好地理解OpenHarmony的基础使用部分,并顺利完成相关项目的开发工作。

Global site tag (gtag.js) - Google Analytics