join
2013-12-14 12:08:23 +08:00
ctrlp有一个不怎么爽的问题,就是目录中每次新建的文件中是搜索不到。
必须要手动输出:ClearAllCtrlPCaches命令刷新缓存才能搜索新建的文件。
ctrlp内部可以设置自动刷新,但我认为没有必要,因为这个命令只在新建文件的情况下才能用的。
可以给这个命令关联一个快捷键,由于这个命令不会常用,会增加记忆负担。
我这里有一个方式可以解决这个问题,虽然看起来有点绕,但是还算是完美解决这个问题。
在比较常用的插件nerd_tree中,每次新建的文件需要用‘r’命令刷新才能显示在nerd_tree中。
可以在nerd_tree中‘r’命令关联的函数中使用 :execute! "ClearAllCtrlPCaches" (一定要加冒号)。这样每次刷新nerd_tree同时也刷新了ctrlp。
下面是这个添加这行命令的具体位置。
在插件 nerd_tree.vim 中, 搜索s:TreeDirNode.refresh(这个是基本刷新函数)
在这个函数内部第一行添加 :execute! "ClearAllCtrlPCaches"即可。
4.2.0的nerd_tree的代码具体位置在1751行。