欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-12 13:57:58
...

  相信不管你用什么编辑器,能直接把代码发送到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

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

 

   安装好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执行后它会自动删除这些临时文件