Vim(脚本)L文件浏览器/超链接

时间:2012-06-07 02:50:36

标签: vim

在命令行中,如果键入“vim some_directory /”,vim将打开一种文件浏览器,您可以通过向上或向下移动“j”和“k”来浏览目录结构,然后选择用“输入”直到你进入并打开文件。

我想在VimL中为vim编写一个函数,它在子目录中生成一个(现在)任意文件名列表,并以上面提到的那种类似浏览器的形式列出它们,你可以在其中导航到按“j”或“k”列表中的文件,然后按“输入”将其选中(打开,编辑)。

VimL有可能吗?如果是这样,怎么样?请记住,我对实现文件浏览器功能感兴趣,我已经想出了一个文件名列表。

提前致谢!

1 个答案:

答案 0 :(得分:1)

在Vim中,这是由 scratch buffers 实现的;即,您使用:new打开一个新缓冲区,并使用Vimscript(:normal i...:call setline(1, "foo"))和:setlocal nomodifiable进行填充。

通常,还会应用以下设置:

:setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile

要实现操作,请使用:map <buffer>为该临时缓冲区定义特殊映射,例如

:nnoremap <buffer> <CR> :echo "you selected: " getline('.')

瞧!