scratch
的窗口打开。我知道它是某种临时缓冲区/窗口。
如何创建一个临时缓冲区/窗口?
:h scratch
不返回任何内容。#1 楼
它可能是暂存缓冲区,可以命名。在帮助中:临时
包含可以随时丢弃的文本。
关闭窗口时保留它,必须将其明确删除。
设置:>
:setlocal buftype=nofile
:setlocal bufhidden=hide
:setlocal noswapfile
The buffer name can be used to identify the buffer, if you give it a meaningful name.
可以找到在
:help special-buffers
中。#2 楼
'scratch'缓冲区只是用于键入任意临时内容的地方的非正式术语。在接受了答案和另一个问题之后,我在vimrc中创建了以下函数。
该函数在当前窗口中创建一个空白缓冲区,并将其命名为“ scratch”。如果您尝试退出,暂存缓冲区不受保护。如果退出Vim或擦除Vim(
:bw
),即使没有保存更改,它也不会被提示而丢弃。将此功能放在vimrc中。要创建暂存缓冲区,请使用
:call Scratch()
。function! Scratch()
split
noswapfile hide enew
setlocal buftype=nofile
setlocal bufhidden=hide
"setlocal nobuflisted
"lcd ~
file scratch
endfunction
您可以先拉线,然后再
:@"
来快速测试。那么你可以尝试:call Scratch()
。一个分裂的使用,因此,当您创建临时缓冲区当前的缓冲区不受影响。
(如果您希望从函数中忽略
split
,那么在创建暂存缓冲区时,当前缓冲区将被“隐藏”(不再在窗口中)。Vim仍将停止并提示您您尝试退出该缓冲区中未保存的更改)。暂存缓冲区通常具有与调用Scratch函数时所在缓冲区相同的工作目录。我已包含一条注释行,用于将暂存缓冲区工作目录更改为home。这适用于那些状态栏很有趣的人,它们可能会将当前目录的路径显示为缓冲区路径。或仅针对喜欢它的人。
您可以将暂存缓冲区设置为“列出”或“不列出”(默认情况下列出)。如果将其设为未列出,则不会在
:buffers
列表中看到它,但是它将在:buffers!
中显示。如果您希望取消列出nobuflisted
行,请取消注释。已列出或未列出,始终可以使用:b scratch
随时更改到暂存缓冲区。列出暂存缓冲区会使它更易于访问。例如,:sball
会将其包括在拆分中。如果在暂存缓冲区上使用
:bw
(缓冲区擦除),Vim会删除内容并删除缓冲区而不会发出警告。如果在暂存缓冲区上使用:bd
(删除缓冲区),Vim会在没有警告的情况下删除内容,并使缓冲区不列出。您可以创建多个暂存缓冲区。 Vim开始抱怨,但您仍然会遇到其他问题。
#3 楼
我记得关于该主题的vim技巧(已迁移到vim.wikia)。我用于创建暂存缓冲区的函数的最新版本还设置了:
'buflisted'
为假'readonly'
(来自我的VimL库插件:lh-vim-lib)
function! lh#buffer#scratch(bname, where) abort
try
set modifiable
" The next function takes care of working around this damn E36
call lh#window#create_window_with(a:where.' sp '.escape(substitute(a:bname, '\*', '...', 'g'), '#%'))
catch /.*/
throw "Can't open a buffer named '".a:bname."'!"
endtry
setlocal bt=nofile bh=wipe nobl noswf ro
return bufnr('%')
endfunction
#4 楼
我创建了“从头开始”命令command! Scratch new | setlocal bt=nofile bh=wipe nobl noswapfile nu
评论
哪个:h命令用于访问此帮助?
– wizzup
17年2月8日在13:33
:h缓冲区,然后通过“特殊类型的缓冲区”读取。您走在正确的轨道上。
– wbogacz
17-2-8在13:36
使用任何Vim命令打开文件时,都会自动创建一个缓冲区。例如,如果使用:edit文件编辑文件,则会自动创建一个新的缓冲区。可以通过输入:enew或:new或:vnew创建空缓冲区。从Vim缓冲区常见问题解答:vim.fandom.com/wiki/Vim_buffer_FAQ
– NeilG
19-10-2在23:15
@wizzup:helpgrep从头开始将其设置为10个结果(在我的安装中)之一。
–丰富
19-10-3在13:05