dopost 发表于 2017-5-7 07:56:40

将vim中的mel和python代码直接发送到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执行后它会自动删除这些临时文件
页: [1]
查看完整版本: 将vim中的mel和python代码直接发送到Maya里