如果你在vim插件(python-mode)中改变一个全局变量并重新加载它,这不就相当于在启动时加载.vimrc吗?
If you change a global variable in a vim plugin (python-mode) and reload it, isn’t it equivalent to just loading the .vimrc at startup?
使用Vim版本:7.4
在 Python 模式文档的这一行中:https://github.com/python-mode/python-mode/blob/01c3131343aaa3c76f8cb656b5e9f54ac90ca04b/doc/pymode.txt#L234
它说我可以使用
打开变量 (g:pymode_run
)
let g:pymode_run=1
,
到运行我的python文件使用“:PymodeRun
”或通过'<leader>r
'
使用它
如果我的Vimrc文件没有修改,默认设置为:
let g:pymode_run=1
但是,如果您的 vimrc 文件中的默认设置是
let g:pymode_run=0
,
你加载你的 .vimrc,然后尝试使用
let pymode_run=1
或 let g:pymode_run=1
(这两个是等价的,因为我们在这里处理的是全局变量),
:PymodeRun
无效。
改let g:pymode_run=1
后再做“:so ~/.vimrc
”也是不行的
我发现的唯一解决办法是在你的 ~/.vimrc 中更改为“let g:pymode_run=1
”,关闭 VIM 并重新启动 vim.
然后它按预期工作。
因为pymode_run
是决定:PymodeRun
是否应该运行的变量,不应该在当前VIM 会话,同时启用 运行ning :PymodeRun
,而无需重新加载 VIM?
g:pymode_run
好像用的是here,意思是这个变量用来决定命令:PymodeRun
(以及相关的绑定)是否应该定义在第一个地方。换句话说,它在调用 :PymodeRun
时不检查,但在编辑 python 文件时检查。这就是为什么之后设置值不起作用的原因。这可能是因为不希望在编辑时更改选项(我也没有看到太多理由)。
由于在 ftplugin 中检查了此变量,我相信重新加载文件 (:ed %
) 足以使 let g:pymode_run=1
生效。
使用Vim版本:7.4
在 Python 模式文档的这一行中:https://github.com/python-mode/python-mode/blob/01c3131343aaa3c76f8cb656b5e9f54ac90ca04b/doc/pymode.txt#L234
它说我可以使用
打开变量 (g:pymode_run
)
let g:pymode_run=1
,
到运行我的python文件使用“:PymodeRun
”或通过'<leader>r
'
如果我的Vimrc文件没有修改,默认设置为:
let g:pymode_run=1
但是,如果您的 vimrc 文件中的默认设置是
let g:pymode_run=0
,
你加载你的 .vimrc,然后尝试使用
let pymode_run=1
或 let g:pymode_run=1
(这两个是等价的,因为我们在这里处理的是全局变量),
:PymodeRun
无效。
改let g:pymode_run=1
后再做“:so ~/.vimrc
”也是不行的
我发现的唯一解决办法是在你的 ~/.vimrc 中更改为“let g:pymode_run=1
”,关闭 VIM 并重新启动 vim.
然后它按预期工作。
因为pymode_run
是决定:PymodeRun
是否应该运行的变量,不应该在当前VIM 会话,同时启用 运行ning :PymodeRun
,而无需重新加载 VIM?
g:pymode_run
好像用的是here,意思是这个变量用来决定命令:PymodeRun
(以及相关的绑定)是否应该定义在第一个地方。换句话说,它在调用 :PymodeRun
时不检查,但在编辑 python 文件时检查。这就是为什么之后设置值不起作用的原因。这可能是因为不希望在编辑时更改选项(我也没有看到太多理由)。
由于在 ftplugin 中检查了此变量,我相信重新加载文件 (:ed %
) 足以使 let g:pymode_run=1
生效。