为什么输入 'q' 会退出 vim? (.man 文件)

为什么输入 'q' 会退出 vim? (.man 文件)

q当我在 vim 中在键盘上输入字符时,它会退出 vim。为什么?

今天我尝试编辑一个文件扩展名为.man.我想用宏编辑文件,所以我尝试输入- 但当输入qq第一个时,关闭了!qvim

vim test.man

这是在 Debian 12 上的全新安装。我没有定义.vimrc

我将同一个文件重命名.man为具有扩展名.txt,这次我可以按预期创建一个宏 - 输入 aq不会导致vim退出。

mv test.man test.txt
vim test.txt

为什么在q尝试编辑带有文件扩展名的文件时输入 a 时 vim 会退出.man?我该如何阻止这种行为?

答案1

每当Vim 编辑器打开具有文件名后缀的文件时,它都会加载man文件类型插件 ( ) 。ft-man-plugin.man

使用此插件的更有用的方法是加载它

:runtime ftplugin/man.vim

...然后使用:Man命令,例如,

:Man ls

文件类型插件改变的事情之一man是它映射q:quit.这样做是因为该:Man命令通常在 Vim 中运行,退出它会让您回到当时正在编写的任何其他文档,并且有人认为只需键入 会更方便q,就像您通常退出终端中的手动寻呼机。

有关更多信息,请参阅:help ft-man-plugin在维姆中。

避免加载此插件的.man文件,将具有此文件名后缀的文件的文件类型设置为其他内容,例如,text在您的 Vim 启动文件中(~/.vimrc或您配置 Vim 的任何位置):

autocmd BufRead,BufNewFile *.man set filetype=text

或者,完全删除这些文件的文件类型检测:

autocmd! filetypedetect BufRead,BufNewFile *.man

相关内容