簡體   English   中英

Vim —打開沒有文件類型的文件時如何控制formatoptions?

[英]Vim — how to control formatoptions when opening up a file with no filetype?

我在~/.vimrc設置了我的formatoptions

set formatoptions=caq1njw

有時我運行一個腳本,使我可以編輯一個臨時純文本文件,該文件的路徑以//開頭(它們是perforce文件路徑)。

這會導致vim應用自動換行的注釋段落規則,因此,如果我有一些短文件路徑加起來少於textwidth字符長,它將在我編輯此文件列表時合並文件路徑! 這將是超級額外的壞處。

現在我知道如何使用.vim/after/ftplugin使Vim在打開不同的文件類型時應用不同的設置。 例如,如果我希望formatoptions是特定於javascript文件的東西,我將編輯一些ftplugin/javascript.vim文件,這可以證明:

:verbose set formatoptions
  formatoptions=a1njwcroql
        Last set from ~/bin/share/vim/vim73/ftplugin/javascript.vim
Press ENTER or type command to continue

(我的vim安裝在~/bin ,是的,這是非常規的)

因此,除了我的.vimrccaq1njw之外,捆綁的javascript.vim似乎還應用了lr 很好,我可以根據需要為JavaScript配置vim的行為。

但是我想要的是普通的,普通的,未檢測到的文件類型文件,不要使用caq1njw 並且,對於所有其他公認的文件類型,請使用caq1njw

有沒有一種方法可以不向我使用的每個文件類型添加set formatoptions=caq1njwset formatoptions=caq1njw

基本上,某種ftplugin/vanilla.vim僅在未檢測到文件類型時運行。

如果臨時純文本文件遵循任何(路徑和/或文件名)模式,我將在其上定義一個autocmd:

:autocmd BufNew,BufRead /tmp/tempfile*.tmp setlocal formatoptions=...

對於一般情況,很難在引發FileType事件時觸發。 你不得不使用自帶另一個事件,例如:

:autocmd BufWinEnter * if empty(&l:filetype) | setlocal formatoptions=... | endif

不過,我會選擇第一種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM