Vi & Vim

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

4
Jaki jest najwygodniejszy sposób pracy z różnymi klawiaturami w vimie?
Czasami muszę pisać greckie słowa, ale kiedy używam greckiej klawiatury, uderzenie, powiedzmy, <C-p>będzie rozumiane jako, <C-π>a nie jako polecenie, które zamierzam. Można to naprawić za pomocą :map <C-p> <C-π>. Czy mogę to zrobić dla wszystkich liter bez sporządzania listy wszystkich? PS. Sporządzenie listy wszystkich nie daje idealnego rezultatu. Np. qJest …

3
Jak mogę „n” iść naprzód, nawet jeśli zacząłem szukać z „?” lub „#”?
Vim ma (przynajmniej) dwa zestawy poleceń, które szukają w przeciwnych kierunkach. Wpisanie, /a następnie wzór spowoduje wyszukanie wzoru w dokumencie do przodu; wpisanie, ?a następnie wzorzec rozpocznie wyszukiwanie do tyłu. Ten sam związek istnieje między poleceniami *i #. Nie podoba mi się to, że te polecenia również ustawiają kierunek wyszukiwania …


2
Zamień argumenty funkcji
Przy refaktoryzacji kodu przydatna byłaby możliwość zamiany argumentów funkcji. Zmiana np .: func(foo[0], bar(), baz.spam) w func(baz.spam, foo[0], bar()) Czy istnieje jakiś sposób zamiany argumentów w lewo / w prawo, utrzymując nawiasy funkcyjne i przecinki na miejscu? Zauważ, że może to być dość zaangażowane, jeśli chcesz uwzględnić argumenty, które same …
19 macro  refactor 

8
Jak automatycznie wyłączyć „hlsearch” po zakończeniu wyszukiwania?
Uwielbiam ustawienie „hlsearch”, ale po zakończeniu wyszukiwania uważam, że jest to okropne. Zwłaszcza jeśli szukam czegoś, co ma wiele dopasowań. Wiem, że mogę to wyłączyć :set nohlsearch Ale zajmuje to całe 16 naciśnięć klawiszy, a co bardziej denerwujące, muszę włączyć go ponownie podczas następnego wyszukiwania za pomocą :set hlsearch Czy …
19 search  highlight 

2
Jaki jest związek między vi, nvi i vim?
W niektórych systemach uniksowych czasami znalazłem polecenie o nazwie nvi. Był to edytor podobny do vi, bez dużej części swojej funkcjonalności. Może to był stary rozwidlenie vi? W każdym razie, które viwersje są rozwidleniem innych, a które są niezależnymi rozwiązaniami? Czy mają „drzewo genealogiczne”, podobne do unixów?

1
Zrozumienie kombinacji CTRL-U
W tej odpowiedzi spotkałem się z CTRL-Uużytym w wywołaniu funkcji po :i przed rzeczywistą nazwą funkcji. :nnoremap <buffer> <cr> :<C-U>call append('.', repeat([''],v:count1))<cr> Oto, co mówi pomoc: CTRL-U Scroll window Upwards in the buffer. The number of lines comes from the scroll option (default: half a screen). If [count] given, first …

6
Czy mogę łączyć linie przecinkiem (lub innym znakiem)?
Wiem, że mogę łączyć linie w Vimie z Jkilkoma ich wariantami ( gJitp.); Jspowoduje „Usunięcie wcięcia i wstawienie maksymalnie dwóch spacji” . Ale czy istnieje również prosty sposób wstawienia innej postaci zamiast dwóch spacji? Na przykład przecinek ( ,) czy przecinek i spacja ( ,)? Dany: 8 9 10 32 …

1
Ustawienie TAB na 2 spacje
Przejrzałem różne odpowiedzi, które sugerują, że odpowiednie ustawienie w .vimrc byłoby odpowiednie, aby zmusić wstawianie tabulatorów do spacji. filetype plugin indent on " On pressing tab, insert 2 spaces set expandtab " show existing tab with 2 spaces width set tabstop=2 set softtabstop=2 " when indenting with '>', use 2 …


2
Zastąpić ciąg bez zmiany wielkości liter?
Z powodu dziwactwa w języku, z którym pracuję, często mam do czynienia z (selektywnie, nie globalnie) zastąpieniem termlub odpowiednio TERMz wordlub WORD. Oznacza to, że bez rozróżniania wielkości liter szukam termi chcę to zastąpić, word zachowując termnienaruszone wielkie / małe litery oryginału . Ponieważ sprawdzanie całości pod termkątem spójnych wielkich …
18 substitute 

1
Jak uzyskać faktyczną wysokość i szerokość Vima?
winheight()i winwidth()zwróć liczbę kolumn / linii w bieżącym oknie. To, czego szukam, to coś bliższego rzeczywistej wysokości i szerokości obszaru edycji lub obszaru wyświetlanego, jeśli jest uruchamiany w terminalu. Problemem winheight()i winwidth()że współczynnik kształtu obliczono z tych wartości jest w kontakcie z rzeczywistą proporcji. :echo winwidth('%') winheight('%') winwidth('%') * 1.0 …


5
Czy można vim'ować polecenia vim?
Chcę uruchomić następującą powłokę. wea-this is the end of the second word | vim j exit 0 Miałem nadzieję, że wprzesunie naciśnięcia klawiszy (przesunie słowo do przodu), potem e(koniec słowa), potem a(dopisze), a następnie -this is the end of the second word(tekst) do określonego dokumentu Vima, jktóry już zawiera słowa. …
18 invocation 

4
Wyczyść linię szybciej niż [0] [d] [$]
Czy istnieje szybszy sposób na usunięcie tekstu w wierszu niż naciśnij, 0aby przejść do początku, a następnie naciskając, d$aby usunąć do końca linii? A co jeśli chciałbym usunąć wszystko oprócz wcięcia? Czy jest na to sposób?

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.