加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 17:00:08 所属栏目:安全 来源:网络整理
导读:我有VIM netrw split设置打开右侧预览缓冲区中的任何文件,它工作正常. 我的问题是当我通过%命令创建新文件时,netrw缓冲区中会自动打开一个新文件.我想在预览缓冲区中打开新创建的文件,而不是在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读