kompatybilność emacs vim dla kodu c ++

1

Używam emacsa do kodowania c ++, aw moim projekcie jest wiele osób, które używają gvima do tego samego. Mój problem polega na tym, że kiedy otwieram ich pliki .h lub .cc w emacsie, formatowanie stało się naprawdę złe, prawdopodobnie z powodu ustawienia tabulatorów lub czegoś podobnego.
To, czego chcę, to to, co powinienem umieścić w moim pliku .emacs, aby sformatował kod w miły, zwykły sposób, gdy widzę go w emacsie, ale nie zakłóca go moim znajomym z Vima.
Czy to w ogóle możliwe, czy też muszę powiedzieć chłopakom Vima, żeby coś też zmienili w swoich profilach? Możemy próbować egzekwować pewną prawidłowość i wymuszać odpowiednie funkcje profilu.
Dzięki

Rohit Chauhan
źródło
Przeczytaj to: Tabs vs. Spaces: Eternal Holy War.
RedGrittyBrick 17.10.11

Odpowiedzi:

0

Jeśli chodzi o tabulatory, musisz ustawić zmienną szerokości tabulatora w menu Opcje> Dostosuj emacsa, pojawi się opcja, aby zmienić tę opcję na stałe.

Kulminacja
źródło
0

Aby naprawdę rozwiązać problem, musisz zdecydować, czy w swoim projekcie będziesz używać tabulatorów, czy spacji.

Powinieneś także zdecydować, jak szeroka ma być jedna karta.

Istnieje doskonały VimCast na ten temat.

Martin Klepsch
źródło
0

Niektórzy hakerzy Emacsa napisali kiedyś:

Moim zdaniem najlepszym sposobem rozwiązania problemów technicznych jest nakazanie, aby znak TAB ASCII nr 9 nigdy nie pojawiał się w plikach dyskowych: zaprogramuj edytor, aby rozszerzał TAB do odpowiedniej liczby spacji przed zapisaniem wierszy na dysku. To znacznie upraszcza sprawy, oddzielając kwestie techniczne… od kwestii religijnej.

W mojej konfiguracji vim I set et, ts=2, sw=2. Gdybym użył Emacsa, zrobiłbym to samo. Podczas pracy z innymi przy projekcie standardowe ustawienia muszą zostać uzgodnione lub zlecone.

RedGrittyBrick
źródło
0

Większość edytorów kodu ma osobne pojęcia dotyczące szerokości tabulatora i szerokości wcięcia kodu.

Projekt musi uzgodnić wielkość wcięcia i: TAB ma ten sam rozmiar we wszystkich edytorach (zwykle 8 spacji, co było mechaniczną implementacją TAB na teletypach i innych terminalach mechanicznych); lub że wcięcie nigdy nie będzie zawierać TABS, a jedynie spacje.

JRobert
źródło