Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在Vim中实现类似MATLAB的单元格模式

在MATLAB中,我们可以将以下内容写入编辑器

%% -- a example cell -- plot(rand锛?锛?锛? %% -- another cell A=rand(2^10); t=linspace(-pi,pi,2^10); compass(fft(A*sin(t)) 我们只需按Ctrl + Enter即可运行鼠标指针所单击的单元格。

现在我知道在Vim中,我可以做

:''w !matlab运行可视选择的代码块。

但是,如何在Vim / gVim中实现类似MATLAB的单元格模式?

例如一些python代码

import os import subprocess import random ## 1st cell ps =["python", "-h"] out = subprocess.Popen(ps).communicate()[0] print out ## 2nd cell # import random -sould not be needed if we concatenate the import section and the cell print random.randint(1,100) 谁能提供一些想法?



回答:

不确定要问的是什么,但是如果要用鼠标双击块来处理单元块,则可以将鼠标双击( 映射)映射到调用函数:

nnoremap :call ProcessMouseDoubleClick() ProcessMouseDoubleClick()将是一个函数,该函数(1)直观地选择“单元格”区域,并且(2)发出''w !matlab以使matlab运行所选代码。

调用ProcessMouseDoubleClick时,Vim光标将位于您在文档中单击的任何位置。除此之外,鼠标没有什么特别的。因此,您还可以将任何键映射到相同的功能,例如,用于“评估单元格”的助记符命令:

map ec :call ProcessMouseDoubleClick() 因此,根本没有理由让函数名称完全引用鼠标,您可能需要将其命名为EvaluateMatlabCell() 。



更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:10


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.