q
当我在 vim 中在键盘上输入字符时,它会退出 vim。为什么?
今天我尝试编辑一个文件扩展名为.man
.我想用宏编辑文件,所以我尝试输入- 但当输入qq
第一个时,关闭了!q
vim
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