Ⅰ. 插件描述
If you have to work with legacy code and long funcitons with lots of nested "if-else" etc. this plugin will help you to find a way to current line.Ⅱ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'aserebryakov/vim-branch-stack'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'aserebryakov/vim-branch-stack'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'aserebryakov/vim-branch-stack'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/aserebryakov/vim-branch-stack
Ⅳ. 文档说明
vim-branch-stack
vim-branch-stack is a Vim plugin helping to find the branching path to current line of code.
Introduction
vim-branch-stack
plugin is intended to help working on legacy C/C++ code where
functions are long and have many nested branches (if-else
, switch-case
,try-catch
, while
, for
).
Installation
Requirements
- python3
Vim 8+
$ cd ~/.vim/pack/directory_name/start/
$ git clone --recurse-submodules https://github.com/aserebryakov/vim-branch-stack.git
Pathogen
$ cd ~/.vim/bundle
$ git clone --recurse-submodules https://github.com/aserebryakov/vim-branch-stack.git
NeoBundle
NeoBundle 'aserebryakov/vim-branch-stack'
Without plugin manager:
Clone or download this repository and copy its contents to your ~/.vim/
directory.
Usage
The stack is shown in the location window after BranchStack
command
execuiton while cursor is placed on the target line.
Example
main.cpp
int main ()
{
const int meaning = 42;
const int pi_floor = 3;
if (meaning)
{
if (pi_floor == 4)
{
// Do the stuff
}
else
{
// Cursor is here
}
}
return 0;
}
Location window
1 main.cpp |6| if (meaning)
2 main.cpp |12| + else
Limitations
The plugin has the following limitations:
- Commented out code with
/* block comments */
brakes parsing goto
is not supporteddo-while
is not supported- Preprocessing is not supported
Contribution
Source code and issues are hosted on GitHub:
https://github.com/aserebryakov/vim-branch-stack
License
Changelog
0.1.0
- Initial version
0.1.1
- Fixed handling of single line comments
Credits
- Alexander Serebryakov (author) https://github.com/aserebryakov