Shell 如何在VIM中快速更改directores?
可以让vim与另一个执行该操作的util一起工作吗?CtrlP对目录搜索有限制。我唯一能找到的就是像wcd这样的util 然而,当我试图将vim集成到where Change目录(Norton Change目录克隆)时,我遇到了一些基本问题 wcd是一个简单的实用程序,它接受一个输入,并在找到一个名称中包含输入的匹配目录时更改目录。如果有多个目录,它将提供一个简单的选择菜单,您可以从中选择所需的目录。它还可以使用-o选项将目录作为管道输出Shell 如何在VIM中快速更改directores?,shell,vim,Shell,Vim,可以让vim与另一个执行该操作的util一起工作吗?CtrlP对目录搜索有限制。我唯一能找到的就是像wcd这样的util 然而,当我试图将vim集成到where Change目录(Norton Change目录克隆)时,我遇到了一些基本问题 wcd是一个简单的实用程序,它接受一个输入,并在找到一个名称中包含输入的匹配目录时更改目录。如果有多个目录,它将提供一个简单的选择菜单,您可以从中选择所需的目录。它还可以使用-o选项将目录作为管道输出 Example $wcd foo : Changes t
Example $wcd foo : Changes to /home/me/foo . [Since only 1 foo exists]
$wcd bar : 1./home/me/bar/
2./home/me/simplebar/
Enter You Choice:
它在航站楼运行良好。想知道如何使vim使用此实用程序
如果我给出的话,有两种情况:cdwcdfoo
foo
,并且vim发生了变化,那么它可以为foo
提供一个单一的结果有人知道是否可以做
:cd!wcd foo
?还是同等的 如果您希望在shell checkout的模糊路径上运行vim,那么页面上会解释vim的用法
如果您只想将vim用作输入管道,请使用破折号:
tail -1000 /some/file | vim -
如果您在页面上的shell checkout中寻找在模糊路径上运行vim的选项,那么将解释vim的用法 如果您只想将vim用作输入管道,请使用破折号:
tail -1000 /some/file | vim -
既然你编辑了你的问题,我有另一个选择给你,看看
let g:ctrlp_working_path_mode = 0
编辑:
因此,您为任务选择了一个非常容易引起误解的问题:)您可以将ctrlp与args一起使用,为什么不将其绑定到映射?还是使用fuzzyfinder 您可以并且应该在处理项目时设置“working dir”,当然,但是您不需要在vim中打开特定的目录,您可以编辑具体的文件。 也许您可以获取从fasd生成的文件(当然是Automaticali),并为最常用的目录自动生成一些映射,但我认为这是一个坏主意 我个人在很长一段时间内成功地使用了fasd+ctrlp,除了设置工作目录外,我从不需要在vim中打开特定的目录,ctrlp会自动为我做这些。但我只是一个小开发者,也许你的用例是不同的 编辑第二部分: 你的选择是
:h inputlist
看看这个:
:echo inputlist(range(20))
您需要用命令替换range20,并在其中传递带有args的wcd。由于您编辑了您的问题,我有另一个选项供您选择,请查看
let g:ctrlp_working_path_mode = 0
编辑:
因此,您为任务选择了一个非常容易引起误解的问题:)您可以将ctrlp与args一起使用,为什么不将其绑定到映射?还是使用fuzzyfinder 您可以并且应该在处理项目时设置“working dir”,当然,但是您不需要在vim中打开特定的目录,您可以编辑具体的文件。 也许您可以获取从fasd生成的文件(当然是Automaticali),并为最常用的目录自动生成一些映射,但我认为这是一个坏主意 我个人在很长一段时间内成功地使用了fasd+ctrlp,除了设置工作目录外,我从不需要在vim中打开特定的目录,ctrlp会自动为我做这些。但我只是一个小开发者,也许你的用例是不同的 编辑第二部分: 你的选择是
:h inputlist
看看这个:
:echo inputlist(range(20))
您需要用命令替换range20,并在其中传递带有参数的wcd。命令行完成和“wildmenu”是您的朋友 您可以使用像
*
和**
这样的glob:
:cd **/foo<tab>
:cd **/*bar<tab>
这是尝试将:cd
发送到我的~/.vim
目录下包含dete
的目录时的样子:
:cd **/*dete<Tab>
:cd**/*dete
“>
你并不需要一个插件或一个外部实用程序来实现这一点。命令行完成和“wildmenu”是你的朋友 您可以使用像
*
和**
这样的glob:
:cd **/foo<tab>
:cd **/*bar<tab>
这是尝试将:cd
发送到我的~/.vim
目录下包含dete
的目录时的样子:
:cd **/*dete<Tab>
:cd**/*dete
“>
你并不需要一个插件或一个外部实用程序来实现这一点。有一个用于Wcd的Vim插件。请参阅:有一个用于Wcd的Vim插件。请参阅:您应该更明确地说明该程序的功能以及如何与之交互。您应该更明确地说明该程序的功能以及如何与之交互。CtrlP是用于文件的,对吗?它允许模糊搜索目录吗?我只想要目录导航的CtrlP概念。问题是CtrlP有根目录的概念,因此除非您更改到该目录,否则无法在其他位置检查文件。更改到该目录是我试图解决的问题:-)我看了一下让g:ctrlp_working_path_mode=0,但这不意味着ctrlp会非常慢吗?因此,您为您的任务选择了一个非常误导人的问题:)这是真的,我的意思是我只想在vim中快速更改目录,我有一个名为wcd的util!更正了标题:-)CtrlP是用于文件的,对吗?它允许模糊搜索目录吗?我只想要目录导航的CtrlP概念。问题是CtrlP有根目录的概念,因此除非您更改到该目录,否则无法在其他位置检查文件。更改到该目录是我试图解决的问题:-)我看了一下g:ctrlp_working_path_mode=0,但这不意味着ctrlp会非常慢吗?所以您选择了一个非常容易误导的问题