Wheel:Vim导航框架

2021-03-01 02:13:58

Wheel是Vim和Neovim的导航插件。它是面向缓冲区组的,并充分利用了特殊的缓冲区,您可以在其中过滤和选择元素。

Wheel使您可以通过创建所需的缓冲区组来组织缓冲区,添加所需的缓冲区并在以下之间快速导航:

位置包含名称,文件名以及行&列号

一组缓冲区组或类别称为圆环(圆环)

乍一看,管理圈子中带有圆环的小组似乎是足够的。但是随着时间的流逝,圆环变得越来越大,而第三个级别则可以帮助您按组和类别来组织文件:

Wheel的设计遵循您的工作流程:您只在所需的位置添加所需的文件。例如,如果您有一个包含议程&待办事项文件,您可以快速替换它们,或在两个窗口中显示它们。然后,如果您突然有一个调整vim的想法,您可以使用收藏夹配置文件init切换到vim组。循环,替换或显示文件的过程相同。随着时间的流逝,您的团队会不断壮大并适应您的风格。

正如您所看到的,组群管理器是核心,但远远不止于此:您需要一个快速的导航框架来旅行,一旦有了它,就可以轻松添加新功能。

但是,在模块级别尊重UNIX的理念:自动加载/转盘中的每个文件都处理特定类型的问题,并且很好地解决问题;魔术是模块一起交谈时的问题。

"初始化让g:wheel_config = {}让g:wheel_config.maxim = {}"将存储圆环和圆的文件,并读取g:wheel_config。文件='〜/ .local / share / wheel / auto.vim' "如果>在启动时自动读取环面文件0让g:wheel_config。自动读取= 1"如果>在退出时自动写入环面文件0让g:wheel_config。自动写入= 1" wheel文件的备份数为g:wheel_config.backups = 5"它越大,可用的映射就越多,g:wheel_config.mappings = 10"映射前缀让g:wheel_config.prefix ='< M-w> ' "如果>自动cd到项目根目录。 0让g:wheel_config.cd_project = 1"项目根的标记"让g:wheel_config.project_markers =' .git' "让g:wheel_config.project_markers =' .racine-projet' "标记清单"只要在其中找到一个标记,就可以找到项目目录:g:wheel_config.project_markers = [' .git&#39 ;,' .racine-projet']"查找数据库;如果为空则默认为默认值g:wheel_config.locate_db ='〜/ racine / index / locate / racine.db' "历史记录中的最大元素数量为g:wheel_config.maxim。历史= 50"输入历史记录中的最大元素数量为g:wheel_config.maxim。输入= 100" mru中的最大元素数为g:wheel_config.maxim.mru = 120"拨轮中的最大元素数为g:wheel_config.maxim.yanks = 300"拨轮中的元素的最大大小为g:wheel_config.maxim.yank_size = 3000"布局中的最大制表符数为g:wheel_config.maxim。制表符= 12"水平分割的最大数量为g:wheel_config.maxim.horizo​​ntal = 3"垂直分割的最大数量为g:wheel_config.maxim。垂直= 4

要获得Wheel的概述,建议您看一下mainmenu。按< M-w> m,将出现一个新的缓冲区,列出您可以执行的操作。插入模式用于过滤行。在正常模式下按Enter键可触发操作(如果您知道自己在做什么),或按q退出菜单。

如果您希望使用元菜单引导您进入主题子菜单,则可以使用< M-w> =启动它。

假设我们有Juice,Tea,Coffee文件,并且希望将它们分组。因此,我们进入Juice并输入< M-w> a,以将位置添加到方向盘。如果轮子上没有圆环,它将创建它并询问名称。假设我们将其命名为Food。如果在圆环中找不到任何组(无圆),则会创建该组并提示输入名称。假设我们选择“饮料”。最后,我们的文件Juice被添加到该组中。它的名称是默认情况下不带扩展名的文件名。

然后,我们转到Tea并再次输入< M-w> a。这次,如果我们要保留默认位置名称,它将向我们询问。按Enter键,然后将茶添加到“饮料”组中。

如果您想创建另一个圈子,比如说“水果”,只需启动< M-w>< C-a&gt ;,然后在提示下回答“水果”即可。然后可以向其中添加文件Apple,Pear和Orange。您甚至还可以添加Juice:一个文件可以添加到多个圈子中。

现在,假设在Juice文件中,您有一个Pineapple和Mango部分,并且想要对其进行比较。只需转到菠萝部分,并使用< M-w> a。它将位置Juice:pineapple-line:pineapple-col添加到当前圈子。然后,转到“芒果”部分,然后执行相同的操作。 Juice:mango-line:mango-col也将添加到圈子中。然后,您可以轻松地交替选择两者,或在拆分的窗口中显示它们。

如果您要创建另一个圆环,假设是“图书”,只需启动< M-w>< S-a&gt ;,然后在提示下回答“图书”即可。

您可以使用< M-w>< Left>循环循环文件。 < M-w>右。这些通常是绑定,因此建议您将它们映射到更方便的键,例如< C-PageUp>和< C-PageDown>

要循环循环,请使用< M-w>< C-Left> < M-w> C-右。您还可以将它们映射到更方便的键,例如< C-Home> < C-End>。

您也可以通过在特殊缓冲区中选择位置来切换位置。默认映射是< M-w><空格>。在一行中按Enter键将切换到匹配的位置。进入插入模式将允许您过滤一个或多个单词的行。

随着时间的流逝,圈子的数量将会增加。完成效果很好,但是如果您只想替换历史上的最后两个圈子,则可能更喜欢< M-w> ^。

一个常见的情况是在同一圆圈中交替两个文件,在同一圆环中交替两个圆圈。因此,您拥有正方形: