Vi & Vim

Pytania i odpowiedzi dla osób korzystających z rodzin edytorów tekstu vi i Vim

1
Poziom słów różni się w vimie
O ile rozumiem domyślny vimdiff robi tylko różnice między wierszami. Czasami jednak przydatne jest robienie różnic na poziomie słów, szczególnie w przypadku plików tekstowych takich jak Markdown, LaTeX itp. Istnieje kilka narzędzi, takich jak wdiff lub dwdiff, które różnią się poziomem słów. Czy można używać ich w vimie do porównywania …
11 vimdiff 

2
Jak wykryć, czy pliki SWP zawierają niezapisane zmiany?
Podczas edycji kodu źródłowego przy użyciu gvim (v.7.4.488), chcę wprowadzić pewne zmiany w vcs (używam git 2.1.4 z wiersza poleceń w systemie Ubuntu Linux). git --status pokazuje, które pliki zmieniłem. Pokazuje jednak także vim .*.swpaktualnie widocznych buforów (zarówno jeśli plik zawiera niezapisane zmiany, jak i gdy edytowany plik jest taki …
11 git  swap-file 


1
Sortuj według słów oddzielonych przecinkami
Normalne polecenie: sortowanie może sortować wiersze na podstawie kolumny lub kolumny wirtualnej ( \%club \%v), czy można użyć kolumny logicznej wyższego poziomu jako klucza sortowania? Użycie wyrażenia regularnego wydaje się nieco skomplikowane w tym scenariuszu (kolumna znajduje się na końcu wiersza?) I wygląda podobnie jak narzędzie sortowania ( sork -k), …

2
Czy można użyć delegata lub przekazać funkcję jako argument w Vimscript?
Próbuję utworzyć małą wtyczkę do nauki vimscript, moim celem jest stworzenie niektórych funkcji przetwarzających zaznaczony tekst i zastępujących go wynikiem. Skrypt zawiera następujące elementy: Dwie funkcje przetwarzające tekst: przyjmują ciąg jako parametr i zwracają ciąg, który powinien zostać użyty do zastąpienia oryginalnego tekstu. Na razie mam tylko dwa, ale może …

3
Ustaw tryb wiersza poleceń <Esc> i Ctrl
Wyobraź sobie, że chcesz zacytować poniższe słowo. Jeśli |jest to pozycja kursora, możesz z łatwością zacytować słowo z cw""&lt;Esc&gt;Ptrybu normalnego. |below Chcę osiągnąć to samo zachowanie w trybie wiersza poleceń. Moje pytanie brzmi: jak mogę powiedzieć trybowi wiersza poleceń, że chcę wpisać &lt;Esc&gt;. Próbowałem :norm cw""&lt;Esc&gt;Pi kilka innych odmian, ale …

3
Vim zwalnia z czasem przy włączonej składni
Czy jest coś, co mogę zrobić, aby zachować syntax onpodczas korzystania z Vima? Gdy tylko otworzę coś znaczącego, edycja po chwili staje się prawie niemożliwa. Każde naciśnięcie klawisza powoduje opóźnienie. Jeśli wyłączę podświetlanie składni lub ponownie uruchomę vima - znowu będzie dobrze. Mam synmaxcolustawione na 120. Przykładowy plik Ruby jest …

1
Jak przesunąć wcięcie wiersza do określonej wartości?
Wiele razy natrafiam na sytuację, w której linia nie jest odpowiednio wcięta. Ether przez wklej, źle / nie preferowaną wtyczkę wcięcia lub najczęściej dodatkowe spacje równoważące wartość wcięcia. Zwykle naprawiam to kilka razy &lt;&lt;lub &gt;&gt;kilka razy, aby to naprawić. W przypadku dodatkowych spacji zrobię 100&lt;&lt;wtedy a &gt;&gt;dla każdego poziomu wcięcia, …



2
Szybko przełączaj czcionki w czasie wykonywania
Podczas gdy czcionki można ręcznie wybierać w GVim z menu, mam kilka preferowanych czcionek, które chciałbym przełączać w zależności od zadania (mała mapa bitowa, większy OTF ... itp . ) . Czy istnieje sposób, w jaki mogę skonfigurować przypisywanie klawiszy, aby cyklicznie przewijać listę czcionek predefiniowanych w moim vimrc?

4
: czytaj po kursorze zamiast po linii
:r !uuidgenCzęsto używam do wstawiania nowego UUID do bufora. To działa, ale ogólnie próbuję wstawić identyfikator użytkownika między cudzysłowami i :r !uuidgenwypisuje go w nowej linii. Aby obejść ten problem, używam obecnie prostej mapy klawiszy: nnoremap &lt;C-u&gt; mm:r!uuidgen&lt;CR&gt;dW"_dd`mp To makro ustawia znak mm, wstawia identyfikator UUID r!uuidgen, usuwa wstawiony identyfikator …

1
Odwzoruj sekwencję liter w trybie wstawiania
Mogę już zmapować kombinację klawiszy w trybie wstawiania: :inoremap abc &lt;do stuff&gt; Ma to jednak kilka wad: Podczas wpisywania częściowej wersji sekwencji, na przykład ab, znaki nie są wyświetlane przez krótki czas, ponieważ „czeka”, aby sprawdzić, czy zamierzasz wpisać pełne polecenie. To jest niepożądane; Chcę zmapować łańcuch liter bez pauzy, …


5
Poruszanie się po wielu plikach
Jeśli otworzę vima z wieloma plikami w wierszu poleceń, na przykład, vim debug.log*które ładuje debug.log, debug.log.1i debug.log.2czy mogę nawigować między nimi, przypisać je do wielu okien ( :split/ :vsplit) lub podobnych? Jedynym skrótem, jaki znam dla tego trybu działania, jest :nładowanie następnego pliku na listę. Co jeszcze mogę zrobić w …

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.