如何防止在使用vim与python模式/rope和SimpylFold进行重构后自动重新折叠python代码

如何防止在使用vim与python模式/rope和SimpylFold进行重构后自动重新折叠python代码,python,vim,folding,python-mode,rope,Python,Vim,Folding,Python Mode,Rope,我正在使用vim创建和编辑python代码。我安装了python模式,它通过rope提供(除其他外)重构。我还安装了SimpylFold来提供代码折叠 除了一件烦人的小事外,一切都很顺利 当我进行重构操作时,所有折叠都会立即自动关闭。这非常烦人,因为我将折叠设置为各种打开/关闭状态,以适合我当时正在处理的内容,而这将取消该设置,因此我必须重新打开正在处理的折叠 有没有人知道/有没有人能想出我如何防止这种情况发生,以便我进行拉法操作,褶皱保持原样 干杯:)是的!我做到了 我的解决办法是: 安装F

我正在使用vim创建和编辑python代码。我安装了python模式,它通过rope提供(除其他外)重构。我还安装了SimpylFold来提供代码折叠

除了一件烦人的小事外,一切都很顺利

当我进行重构操作时,所有折叠都会立即自动关闭。这非常烦人,因为我将折叠设置为各种打开/关闭状态,以适合我当时正在处理的内容,而这将取消该设置,因此我必须重新打开正在处理的折叠

有没有人知道/有没有人能想出我如何防止这种情况发生,以便我进行拉法操作,褶皱保持原样

干杯:)

是的!我做到了

我的解决办法是:

  • 安装FastFold()[1]

  • 安装vim撑杆()[2]。我不确定这个插件对于这个解决方案是否是100%必需的,但它看起来还是非常有用的(例如,保存、关闭和重新打开后仍然存在折叠)

  • 使用vim stay的建议设置,即将
    set viewoptions=cursor、folds、slash、unix
    添加到
    .vimrc

  • 通过将其添加到
    .vimrc
    ,设置可选的快速折叠设置
    让g:FastFold\u savehook=0
    。这似乎是最终使其发挥作用的关键一步

快乐的日子!享受吧

更新:如果更改自打开文件以来打开/关闭的折叠,则必须使用
:mkview
保存视图(而不是文件),以便在重构后保留这些折叠[3]

脚注:

[1] 我使用Vundle(),所以对我来说,这只是将
Bundle'Konfekt/FastFold'
添加到我的
.vimrc
,保存、关闭、重新打开,然后运行
:BundleList
,然后运行
:BundleInstall

[2] 安装与上述相同,但用
kopischke/vim-stay
代替
Konfekt/FastFold


[3] 我发现当映射到一个键时,这更容易,在我的例子中,

设置fcl的是什么?显示了什么