Jest to kontrolowane za pomocą formatoptions
ustawienia; z :help fo-table
:
Możesz użyć tej 'formatoptions'
opcji, aby wpłynąć na sposób formatowania tekstu przez Vima.
'formatoptions'
to ciąg znaków, który może zawierać dowolną z poniższych liter. Ustawienie domyślne to tcq
. Możesz oddzielić litery opcji przecinkami, aby zwiększyć ich czytelność.
Zauważ, że stwierdzenie o „domyślnych” jest nieco mylące, ponieważ wiele rodzajów plików zmienia opcje formatów, aby najlepiej pasowały do typu pliku; na przykład w /usr/share/vim/vim74/ftplugin/vim.vim
:
" Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o".
setlocal fo-=t fo+=croql
Możesz zobaczyć bieżący za formatoptions
pomocą:
:set fo?
formatoptions=jcroql
I zobacz, gdzie zostały ustawione w ten sposób:
:verbose set fo?
formatoptions=jcroql
Last set from /usr/share/vim/vim74/ftplugin/vim.vim
W takim przypadku chcesz usunąć r
flagę, ale być może także flagi c
i o
:
r Automatically insert the current comment leader after hitting
<Enter> in Insert mode.
c Auto-wrap comments using textwidth, inserting the current comment
leader automatically.
o Automatically insert the current comment leader after hitting 'o' or
'O' in Normal mode.
Można to zrobić w następujący sposób:
:set formatoptions-=r formatoptions-=c formatoptions-=o
Zauważ, że użycie :set formatoptions-=cro
nie będzie działać zgodnie z oczekiwaniami (ponieważ jest to ciąg, będzie szukał łańcucha cro
w takiej kolejności, która często nie będzie działać).
Aby ustawić zmiany tylko dla bieżącego bufora, użyj :setlocal
zamiast :set
. Jeśli chcesz zawsze mieć te opcje, prawdopodobnie najlepiej jest użyć autocmd
w swoim vimrc; na przykład:
au FileType vim setlocal fo-=c fo-=r fo-=o
Spowoduje to ustawienie opcji tylko dla typu pliku „vim” i nie będzie kolidować z innymi typami plików.
Jeśli chcesz zawsze to ustawiać, użyj:
au FileType * set fo-=c fo-=r fo-=o
Samo używanie set fo-=cro
nie działa, ponieważ wiele typów plików ustawia / rozwija formatoption
(jak pokazano powyżej); autocmd FileType jest wykonywany po załadowaniu plików typu pliku.
au FileType * set fo-=o
do mojego .vimrc nie działa. Naciskamo
skomentowany wiersz, który wciąż go komentuje.formatoptions
pakowałem mój plik txt. I łamał głowę dookołatextwidth
iwrapmargin
ale nic nie działało. Nawet obniżyłem mój vim z 8.1 do 8.0, myśląc, że to błąd. To rozwiązało mój problem, dzięki.Dodaj to w swoim vimrc:
Korzystanie
FileType
nie działa, ponieważ ustawione są inne wtyczkiformatoption
.źródło