Jak zastosować polecenie do wszystkich linii?


19

Jeśli chcę wciąć wszystkie wiersze w dokumencie, mogę wpisać, >Gaby zastosować go do bieżącej linii i poniżej, a następnie zastosować i >ggzastosować do linii powyżej.

Czy istnieje kombinacja, której mogę użyć, aby zastosować tylko >do wszystkich linii jednocześnie?

Odpowiedzi:


19

Szukasz :>polecenia i zakresu 1,$( %w skrócie) dla całego pliku.

:%>

Aby uzyskać więcej pomocy, zobacz:

:h :>
:h :range

5
Ze względu na tytuł tego pytania („zastosuj polecenie do wszystkich wierszy”), uważam, że warto zauważyć, że przykład w pytaniu wymienia operator trybu normalnego >, podczas gdy w tej odpowiedzi użyto polecenia trybu poleceń :>. Nie są to, ściśle mówiąc, to samo. To, że mają taką samą nazwę, należy uznać za przypadek; nie zakładaj, że możesz ogólnie wymieniać operatorów i polecenia. Na przykład, gUoperator konwertuje tekst na wielkie litery, ale :%gUto nie poprawnym poleceniem, aby zastosować takie same dla całego bufora.
tommcdo,


3

Bez wychodzenia z trybu normalnego możesz po prostu:

gg>G

2
Minusem jest to, że tracisz pozycję w pliku
TankorSmash,

Wszystkie pozostałe odpowiedzi mają tę wadę, a OP nie wspomniał o „przestrzeganiu pozycji kursora” jako wymogu.
romainl,

1
<co> można użyć do powrotu do poprzedniej pozycji Rozwiązanie @ romainl wymaga cofnięcia się dwa razy, podczas gdy drugi wymaga powrotu tylko raz
Brett Y

Z pewnością docenisz wartość utrzymania swojego miejsca i to, jak cenna byłaby odpowiedź, która utrzymałaby tę pozycję.
TankorSmash,

1
Właśnie dlatego nie jest to lekceważone. To po prostu informacja, że ​​jest gdzieś lepsza opcja i że powinni szukać dalej. Na przykład w witrynie programistycznej SE niedbały kod, który rozwiązuje problem, rozwiązuje problem, ale nadal można spodziewać się znalezienia innego rozwiązania, które rozwiązałoby problem i wygląda dobrze.
TankorSmash,

3

Inna opcja, o której jeszcze nie wspomniano:

:g/^/>

Spowoduje to uruchomienie polecenia >we wszystkich liniach, które pasują do wzorca ^.

Minusem jest to, że spowoduje to zastąpienie historii wyszukiwania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.