2012-08-16 120 views
2

进入到一个文件夹,当我做:edit C:\,并通过所有文件和文件夹保存Tab键,Vim会循环。当我想进入一个文件夹时,我想我可以做Ctrl-E。但只是偶然,我输入我想进入该文件夹,e.g,:edit C:\Documents\\后一个反斜杠。这似乎也起作用。现在,如果我点击标签,vim就开始循环浏览C:\ Documents中的文件/文件夹。命令行完成在Vim中

我不知道什么是这背后的原因。任何人都可以将我的参考手册指向完全解释此行为的地方吗?而且确实存在更好的方法在当前目录停止完成和启动另一个目录中的命令行完成?

+1

感谢您指出Ctrl-E技巧,我一直在寻找那一段时间! – 2012-08-21 10:20:01

回答

2

但是,在完成期间修改文本(例如,插入反斜杠)时没有记录,vim只会自动完成字符串的其余部分。这是因为它开始以当前条目为基础的新的完成周期。

1

我用这个映射,模结束插入模式完成:

" c_CTRL-Y  Yes: Stop wildmode completion. Useful when completing 
"   directory names and wanting to use the currently 
"   completed directory and now complete its contents, 
"   instead of continuing to iterate the directory names. 
cnoremap <C-Y> <Space><BS> 

但按Ctrl-E工程,以及当你在命令行的末尾。