gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 19:29:40 24 4
gpt4 key购买 nike

我有 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

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

如果你只是想创建文件,而不想在任何地方打开它,你可以使用外部命令 touch (至少在 Unix 系统中)。
function! CreateInPreview()
let l:filename = input("please enter filename: ")
execute 'silent !touch ' . b:netrw_curdir.'/'.l:filename
redraw!
endf

关于vim - 在 Vim netrw 中创建一个新文件但不打开缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45536346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com