Jaki jest najłatwiejszy sposób usunięcia pierwszych 2 spacji z każdej linii przy użyciu VIM? Zasadniczo jest to powtarzanie „2x” dla każdej linii.
Wyjaśnienie: tutaj założeniem jest, że pierwsze 2 znaki to spacje. Tak więc pytanie dotyczy wykonywania wcięć dla wielu wierszy jednocześnie.
Odpowiedzi:
Więcej opcji. Możesz zdecydować, który jest „najłatwiejszy”.
Usuń pierwsze 2 znaki z każdego wiersza:
Usuń pierwsze 2 znaki z każdego wiersza, tylko jeśli są to spacje:
Zauważ, że ostatni ukośnik jest opcjonalny i znajduje się tylko tutaj, abyś mógł zobaczyć dwie spacje. Bez ukośnika to tylko 7 znaków, w tym
:
.Przesuń wcięcie w lewo dla każdego wiersza:
źródło
%
znak oznacza po prostu „wykonaj to polecenie dla każdego wiersza dokumentu, a nie tylko dla bieżącego wiersza”. Myślę. Nie mogę znaleźć dużo dokumentacji na ten temat.Ctrl-V
(lubCtrl-Q
jeśli używaszCtrl-V
do wklejania);d
aby usunąć wybrany obszar.Esc
źródło
Możesz także użyć wyszukiwania i zamiany (w edytorze byłego, dostępnym za pośrednictwem :znaku):
Usuń pierwsze dwa znaki bez względu na wszystko:
Usuń pierwsze dwa białe znaki (muszą znajdować się na początku i oba muszą być białymi znakami ... każda linia nie spełniająca tych kryteriów zostanie pominięta):
źródło
Zakładając a
shiftwidth=2
, a następnie używając przesunięcia z zakresem%
źródło
Dwie spacje czy dwa znaki? (
2x
robi to drugie.)usuwa dwa puste miejsca na początku każdego wiersza; użyj
%
(odpowiednik1,$
) tak[range]
samo, jak to zrobić dla całego pliku.usuwa pierwsze dwa znaki z każdego wiersza, jakiekolwiek one są. (Zauważ, że usuwa dwa znaki , niekoniecznie dwie kolumny ; znak tabulatora liczy się jako jeden znak).
Jeśli naprawdę zmieniasz wcięcie, możesz użyć
<
polecenia, aby je zmniejszyć, lub>
polecenia, aby je zwiększyć. Ustaw,shiftwidth
aby kontrolować, jak daleko się przesuwa, npźródło
Spróbowałbym jednego z dwóch podejść:
Ctrl+V
(często mapowaneCtrl+Q
).q1
Zarejestruj makro w pierwszym wierszu za pomocą (lub dowolnej innej liczby / litery, którą chcesz oznaczyć rejestr nagrywania), a następnie powtórz to makro wiele razy, używając@1
(aby użyć poprzedniego przykładu. Jeszcze lepiej, użyj poprzedniej liczby, aby określić, ile razy do uruchomienia - na przykład10@1
aby uruchomić to makro 10 razy, ale zależy to od tego, co nagrałeś - pamiętaj, aby przewinąć kursor do tyłu0
lub upuścić jedną linięj
, jeśli jest to istotne.źródło
Dodałbym też: naucz się konfigurować wcięcia dla vima. Wtedy proste
gg=G
załatwi sprawę.źródło