假设我有两组设置,一组用于写作,一组用于编程。如何修改我的文件.vimrc,以便在处理具有扩展名的文件时加载第一组,.md而处理带有扩展名的文件时html/js/css加载后者?
虽然:autocmds based onFileType对你来说是一种快速而简单的方法~/.vimrc(正如 @andrewdotn 所建议的),但 Vim 对此有一个适当的抽象:filetype plugins。
将设置和缓冲区本地映射放入~/.vim/after/ftplugin/{filetype}.vim. (这要求您有:filetype plugin on;使用after目录允许您覆盖由 完成的任何默认文件类型设置$VIMRUNTIME/ftplugin/{filetype}.vim。)
使用自动命令。例如,以下是我的设置~/.vimrc:
autocmd BufRead,BufNewFile *.js,*.html
\ setlocal indentkeys=!^F,o
autocmd BufRead,BufNewFile *.md
\ setlocal filetype=markdown | syntax clear
Run Code Online (Sandbox Code Playgroud)
setlocal使用而不是set仅影响与文件名模式匹配的缓冲区。否则,每次加载文件时对选项的更改shiftwidth都会影响所有*.foo缓冲区。
是行继续字符\,它允许您将单个命令拆分为多行以提高可读性。
该|字符是用于将多个命令链接在一行中的栏。
有关更多信息,请参阅vim 文档中的 autocmd.txt 。
| 归档时间: |
|
| 查看次数: |
2524 次 |
| 最近记录: |