微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建一个新文件但不在Vim netrw中打开缓冲区

我有VIM netrw split设置打开右侧预览缓冲区中的任何文件,它工作正常.

我的问题是当我通过%命令创建新文件时,netrw缓冲区中会自动打开一个文件.我想在预览缓冲区中打开新创建的文件,而不是在netrw缓冲区中.这可能吗?

感谢您的帮助.

我想你将不得不覆盖映射.
autocmd filetype netrw call Netrw_mappings()
function! Netrw_mappings()
  noremap <buffer>% :call CreateInPreview()<cr>
endfunction

在这函数中,你将不得不重建netrw函数,但它并不难:

function! CreateInPreview()
  let l:filename = input("please enter filename: ")
  execute 'pedit ' . b:netrw_curdir.'/'.l:filename
endf

注意:这只会在预览中打开缓冲区.它不保存文件.

如果您只想创建文件而不在任何地方打开它,可以使用外部命令触摸(至少在Unix系统中).

function! CreateInPreview()
  let l:filename = input("please enter filename: ")
  execute 'silent !touch ' . b:netrw_curdir.'/'.l:filename 
  redraw!
endf

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐