`
schi
  • 浏览: 200926 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

将vim中的mel和python代码直接发送到Maya里

    博客分类:
  • maya
阅读更多

  相信不管你用什么编辑器,能直接把代码发送到Maya里并执行是十分方便的功能。

  要在vim里实现这个功能,你只要安装一个插件就行,但必须的准备工作还是要的。

  首先,你需要一个支持python的vim,官方的vim只支持python2.4,如果你想要支持更新的python版本,就需要自己去编译vim,编译过程很简单,可以参考视频教程http://showmedo.com/videotutorials/series?name=GuFMFkjNL

  下载Vimya插件http://www.vim.org/scripts/script.php?script_id=2626 ,并安装,就是把它解压到vim的runtime路径中。

  如果你希望能将maya中执行代码时的返回结果也能返回到vim中,就需要安装Tail,下载地址http://www.vim.org/scripts/script.php?script_id=1714 ;安装方法是下载完后解压,打开命令行将当前目录设为解压的目录,也就是有tail-3.0.vba的目录,然后执行

vim tail-3.0.vba

 会进入vim再执行

:so %

 安装成功退出vim

:q

 

 

   安装好Vimya后启动vim,执行下面命令来更新Vimya的帮助,前提是你把vimya.txt放到了doc文件夹中

" mac or linux
:helptags ~/.vim/doc/
" win系统
:helptags $VIM\vimfiles\doc\
 

   现在你可以查看Vimya的帮助了

:help vimya

 

   现在进入主题,连接maya,其实很简单,你需要准备一个userSetup.mel或是userSetup.py,并放到maya的脚本路径中,在userSetup.mel中加入

if (!`commandPort -q ":12345"`) commandPort -n ":12345";

   或在userSetup.py中加入

import maya.cmds as cmds    #如果你没导入cmds模块
if not cmds.commandPort(':12345', q=1):  cmds.commandPort(':12345')

    注意:如果你没使用userSetup.mel或是userSetup.py,哪就要每次开启maya都执行一次上面的代码。

 

  现在你已经可以将vim中的mel和python代码直接发送到Maya里了,但需要注意的是,在你发送之前要确保你当前的文件类型是"mel"或"python"或"None",不然会失败,可以使用vim命令来设置

set ft=mel
" 或
set ft=python

   然后使用

:py sendBufferToMaya()
" 或
:py sendBufferToMaya(True)

   sendBufferToMaya()是将这个脚本内容直接发送到Maya里并执行

   sendBufferToMaya(True)是在visual模式下将所选的行直接发送到Maya里并执行

   这个插件是通过将vim里的代码保存为临时文件,再在maya里执行,在maya执行后它会自动删除这些临时文件

 

  • 大小: 99.9 KB
1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics