![]() |
如何在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) 谁能提供一些想法? [B]回答:[/B] 不确定要问的是什么,但是如果要用鼠标双击块来处理单元块,则可以将鼠标双击( 映射)映射到调用函数: nnoremap :call ProcessMouseDoubleClick() ProcessMouseDoubleClick()将是一个函数,该函数(1)直观地选择“单元格”区域,并且(2)发出''w !matlab以使matlab运行所选代码。 调用ProcessMouseDoubleClick时,Vim光标将位于您在文档中单击的任何位置。除此之外,鼠标没有什么特别的。因此,您还可以将任何键映射到相同的功能,例如,用于“评估单元格”的助记符命令: map ec :call ProcessMouseDoubleClick() 因此,根本没有理由让函数名称完全引用鼠标,您可能需要将其命名为EvaluateMatlabCell() 。 [url=https://stackoverflow.com/questions/5093306]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 02:58。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.