Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行vim脚本的最简单方法_Vim - Fatal编程技术网

运行vim脚本的最简单方法

运行vim脚本的最简单方法,vim,Vim,运行vim函数/脚本的最简单方法是什么?例如,要运行python脚本,我通常会打开两个窗口,顶部的脚本和底部的shell: # script.py def hello(): print ('hello') if __name__ == '__main__': hello() ----------------------- $ python script.py 我假设要运行一个vim脚本,我希望处于vim进程的“内部”(因此,例如,我可以突出显示文本,或者执行vim脚本输入

运行vim函数/脚本的最简单方法是什么?例如,要运行python脚本,我通常会打开两个窗口,顶部的脚本和底部的shell:

# script.py
def hello():
    print ('hello')

if __name__ == '__main__':
    hello()

-----------------------

$ python script.py
我假设要运行一个vim脚本,我希望处于vim进程的“内部”(因此,例如,我可以突出显示文本,或者执行vim脚本输入所需的任何操作)。目前,我以一种非常乏味的方式执行此操作:我将函数放入
vimrc
中,然后每当我想运行它时,我都会执行如下操作:

  • 重新保存文件-
    :w
  • 重新获取vimrc-
    :so$MYVIMRC
  • 重新运行函数-
    :调用MyFunction()
我希望我可以创建一个名为
script.vim
(在任何目录中)的文件,打开该文件,然后“运行它”。最好的方法是什么?作为参考,下面是我想要运行的函数

function MyFunction()
    echom "Hello"
    echom getline('.')
endfunction

您可以使用
:so%
来源文件,该文件将运行其中的任何命令。例如:

function MyFunction()
    echom "Hello"
    echom getline('.')
endfunction

call MyFunction()
现在运行:

:w | so%
将在底部打印:

Hello
call MyFunction() <-- current line the current is on
Press ENTER or type command to continue
你好 调用MyFunction()