Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建执行选项卡的vim映射(自动完成) 背景:_Vim_Autocomplete - Fatal编程技术网

创建执行选项卡的vim映射(自动完成) 背景:

创建执行选项卡的vim映射(自动完成) 背景:,vim,autocomplete,Vim,Autocomplete,我有一个vim映射,可以帮助我轻松地访问代码库中的其他目录 cmap j1 `current_base`/path/to/section1/ cmap j2 `current_base`/other/path/ current_base是一个bash脚本,返回相对于当前文件的路径。(例如,如果我在/foo/bar/code/some/path中,它将返回/foo/bar/code) 现在,在vim中,我可以键入:e j1以获取 :e `current_base`/path/to/section

我有一个vim映射,可以帮助我轻松地访问代码库中的其他目录

cmap j1 `current_base`/path/to/section1/
cmap j2 `current_base`/other/path/
current_base
是一个bash脚本,返回相对于当前文件的路径。(例如,如果我在
/foo/bar/code/some/path
中,它将返回
/foo/bar/code

现在,在vim中,我可以键入
:e j1
以获取

:e `current_base`/path/to/section1/
如果我然后按一下
选项卡
键,它将执行
当前库
,并用

:e /foo/bar/code/path/to/section1/
如果我再次按下
选项卡
键,我会得到该文件夹中所有文件和目录的列表,因为我的vimrc中有
set wildmode=list:longest

我希望vim映射为我自动完成,因此我不必每次按tab两次,但是:

cmap j1 `current_base`/path/to/section1/<tab><tab>
问题:
如何让vim映射真正自动完成,就好像我按下了
选项卡
键,而不是插入
^I

您需要
'wildcharm'
选项:

set wildcharm=<C-z>
设置wildcharm=
如果它在命令行映射中工作,则可以在使用
的位置使用它:

cmap j1 `current_base`/path/to/section1/<C-z><C-z>
cmap j1`电流基准`/path/to/section1/

太完美了!实际上,我最终使用了
作为
wildcharm
只是为了便于以后记住哇,我从来没有想过在这里使用
cmap j1 `current_base`/path/to/section1/<C-z><C-z>