用文档存储vim设置
有什么办法来保存文件的vim设置的状态?
澄清:我正在编辑一个文件,我改变了一堆设置。 我不一定记得哪一个; 除了当前文档,我不想再使用这些设置。 我不想手动尝试记住我已经改变了; 或者我已经改变的设置的神奇缩写是什么。 我只想为“mydoc.txt”这个“mydoc.vim”文件设置文件,这个文件将我放回原来的位置,并且设置文件会根据vim设置自动保存,或者也许是在我退出之前,按Ctrl键。 如果vim可以自动查找这样的文件,这将是方便的。
最好不要编辑进出文档本身的设置。
你可以使用Vim的Session支持:
:mksession
您可以稍后通过运行vim -S Session.vim
或使用source Session.vim
来加载
还有vim插件来自动化会话加载/保存
是的,vim设置可以包含在文档中。
他们主要是在评论中发现,所以他们不搞乱原始文件。 制表符特定设置的示例是:
/* ex: set tabstop=8 expandtab: */
请注意,这个命令在大多数情况下都能正常工作,但是由于安全原因,服务器通常没有启用模式线。 要打开该function,请在$ HOME / .vimrc或系统$ VIM / vimrc中添加以下内容:
set modeline
您可以通过编辑.vimrc文件来保存全局设置。
Vim还允许您使用模式线保存每个文件的设置
以下是将所有当前设置保存到文件的方法:
:redir > textfile.txt :set all :redir END
如果你喜欢,只需将该文件重命名为~/.vimrc
即可。
您可以将文件保存为特定types,例如特殊文件名格式或扩展名,然后在.vimrc中为该文件types定义自动命令。
我这样做我的makefile,以确保我有我需要的特定文件的各种设置。
例如,这是我的自动命令十二。
if has("autocmd") autocmd BufRead,BufNewFile Makefile* :set noexpandtab autocmd BufRead,BufNewFile mirror.conf :set noexpandtab autocmd BufRead,BufNewFile *.html* :set shiftwidth=2 autocmd BufRead,BufNewFile diff_files :set autowrite autocmd BufRead,BufNewFile lbnamed* :set ft=perl autocmd BufRead,BufNewFile *.t :set ft=perl endif