Jak uzyskać poprawne wcięcia dla HTML i Javascript w gVim?

1

Używam vim i gVim od ponad roku. Używam go głównie do edycji HTML, PHP, Pythona i Javascript.

Za każdym razem, gdy próbowałem ustawić jakiś automatyczny rodzaj wcięcia, wpadłem w kłopoty. Teraz używam autoindent. Używam go zarówno w domu w systemie Windows 7, jak iw pracy w systemie Linux.

Brakuje mi:

  • Prawe wcięcie po zakończeniu linii
  • popraw wcięcie podczas używania =.

Próbowałem zainstalować wiele wtyczek gvim i nadal nie mam praktycznych rezultatów. ustawiłem syntax i smartindent lub cindent, również filetypeplugin (Mogę opublikować moje .vimrc Jeśli potrzebne).

PHP jest dla mnie mniejszym zmartwieniem, moim głównym problemem jest wcięcie kodu HTML i Javascript (np. JQuery).

shevski
źródło
1
Nie wiem, co oznacza „prawidłowe wcięcie po zakończeniu linii” lub „poprawne wcięcie, gdy używam =”. Pomogłoby to zobaczyć przykłady tego, co robisz, czego oczekujesz i co widzisz.
garyjohn
Jakie ustawienia używasz, aby włączyć wcięcia dla plików PHP / HTML / JavaScript? „: filetype indent on” w ~ / .vimrc jest prawdopodobnie optymalną metodą i działa dobrze dla mnie.
Heptite
mój indentKeys został ustawiony na pusty ciąg. W ten sposób usunąłem linie, w których było ustawione.
shevski

Odpowiedzi:

1

Bez żadnej konkretnej wtyczki i tych ustawień w moim .vimrc

set tabstop=2
set softtabstop=0
set noexpandtab
set shiftwidth=2
set shiftround
set autoindent
set copyindent

Dostaję to, co według mnie jest „poprawnym wcięciem, gdy używam =” ( | jest kursorem).

var myObj = {
foo : "bar"|
};

staje się to, gdy piszę =:

var myObj = {
  foo : "bar"|
};

W tym samym przykładzie otrzymuję poprawne wcięcie podczas uderzania <CR>.

var myObj = {
  foo : "bar"|
};

staje się to:

var myObj = {
  foo : "bar"
  |
};

Myślę set copyindent to czego potrzebujesz.

romainl
źródło