Article View: pl.comp.os.advocacy
Article #1435Re: vi (Re: O wyzszosci znaku zachety nad GUI)
From: Qrczak
Date: Sun, 14 Dec 1997 13:05
Date: Sun, 14 Dec 1997 13:05
104 lines
5653 bytes
5653 bytes
On 13 Dec 1997, Michal Mierzwa wrote:
> Eee tam. To jest wygodne. Albo coś wpisuję, albo edytuję (poprawiam).
Dla mnie nie jest wygodne i dla mnóstwa osób też. Tutaj się nie
dogadamy...
> >Q> Dla mnie to żaden
> >Q> argument, że niektóre terminale nie mają strzałek.
> [...]
> >Q> Na szczęście vim już rozumie strzałki.
>
> No to o co chodzi? ;-)
No bo zwykłe strzałki rozumie, ale Shiftowanych już nie. Mimo że w
niektórych warunkach da się je obsłuzyć.
> >Q> - Backspace kasuje tylko to, co ostatnio dopisałem. Jeśli nacisnę
> >Q> i 123 lewo prawo 456 Backspaceee... to skasuje tylko 456.
>
> Bo do kasowania jest "d" i "x" ;-) d0 (zero) i posprzątał do początku
> linii, d$ - do końca. d4w albo 4dw - cztery słowa. Itd.
Kto to wymyślił?!
Ogólnie można powiedzieć tak, że vi ma mnóstwo skrótów na rzadsze
operacje, a te podstawowe są przez to za długie. Gdyby zaznaczenie tekstu
do początku linii było krótkie (Shift-Home) i skasowanie bloku też (np.
Delete), to nie trzeba by się uczyć samodzielnych kombinacji, tylko
składałoby się to z prostszych operacji. Shift-Home Delete jest prostsze
niż "Esc d 0 i" m.in. dlatego, bo łatwiej zapamiętać, skąd się bierze. W
vi są dwuklawiszowe skróty na skomplikowane operacje "ustaw się na końcu
linii i zacznij pisać" zamiast jednoklawiszowego "ustaw się na końcu
linii" i zeroklawiszowego "zacznij pisać". Dla mnie to jest bez sensu
ideologicznie, a nie tylko praktycznie.
> >Q> - Backspace i Delete nie kasują końca linii (ja wiem, że jest Esc J, ale
> >Q> wszystkie normalne edytory traktują koniec linii podobnie do pozostałych
> >Q> znaków).
>
> Bo poruszasz się w zakresie linii. Kasowanie jej końca to tak, jakbyś
> chciał skasować koniec pliku.
Oj nie, bo jakoś inne edytory sobie z tym radzą właśnie w ten sposób. IMHO
bardzo logiczne i wygodne - nie muszę się uczyć dodatkowej komendy
kasującej koniec linii, tylko używam tej samej, co kasuje znak.
> >Q> - Zaznaczaniem bloków przez v nie można dowolnie zaznaczać końców linii.
>
> Sorki, ale nie rozumiem... Mógłbyś wytłumaczyć?
Raz chcę zaznaczyć dłuższy tekst do końca linii razem z tym końcem linii
(i skasowanie albo przeniesienie tego bloku skasuje albo przeniesie
również koniec linii), a kiedy indziej - prawie do tego samego miejsca,
tyle że bez końca linii. W vi to jest chyba niemożliwe, a przynajmniej
bardzo utrudnione i nieintuicyjne. W sensownych edytorach jeśli
zaznaczając blok w dół dojdę do końca którejś linii, to znaku końca linii
nie ma w bloku, a jeśli dojdę do początku następnej, to blok obejmie
również koniec linii.
W vi to jest niemożliwe z powodu błędnego ogólnego podejścia: po pierwsze
kursor staje na znaku zamiast między znakami, a po drugie koniec linii nie
może być traktowany jak każdy inny znak.
> >Q> - W trybie komend nie można ustawić się na końcu linii.
>
> A po co?
Żeby wystarczył jeden klawisz to zaczęcia pisania, a nie dwa. Wszak jeśli
linia ma N znaków, to mogę zacząć pisać w N+1 miejscach, więc jest
naturalne, że kursor ustawiam w jednym z tych miejsc i zaczynam pisać! W
vi można się ustawić na końcu linii tylko jeśli ta linia jest pusta (widać
tu pewną niekonsekwencję).
> >Q> - Esc (wyjście z trybu dopisywania) cofa kursor jeden znak w lewo.
>
> Nie "cofa w lewo" ale ustawia na ostatnio wpisanym znaku, ew. na pozycji
> sprzed naciśnięcia "a".
Jak zwał tak zwał. Ja nie widzę w tym sensu. Przecież jeśli wychodzę z
trybu edycji, to jestem w tym samym miejscu, czyż nie?
> >Q> Zapewne są i inne kłopoty przy bardziej skomplikowanych operacjach, ale
> >Q> trudno mi było się na nie natknąć, skoro nie używam vi.
>
> Wręcz przeciwnie. Im bardziej skomplikowana operacja, tym bardziej widać
> jego możliwości.
Jeśli edytor co prawda dobrze wykonuje skomplikowane operacje, ale sprawia
kłopoty z najprostszymi, to wywalam go w diabły.
> >Q> Idea osobnego
> >Q> trybu wpisywania w połączeniu z powyższymi nienormalnymi zachowaniami
> >Q> ostatecznie mnie zniechęca do tego edytora.
>
> Ehhh... A masz jakiś edytor, który ułoży wieżę w Hanoi? ;-)
Ja oczekuję od edytorów czego innego niż Ty :-)
--
QRCZAK
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://kki.net.pl/qrczak/
Technical Details
Message-ID:
<Pine.LNX.3.96.971214135145.599F-100000@qrnik.knm.org.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczakReferences:
<65v131$sol$1@roadrunner.micro-net.net> <661pfv$o0v$1@roadrunner.micro-net.net> <34ac87d6.28075021@news-tpnet.icm.edu.pl> <Pine.LNX.3.96.971205185234.5846H-100000@qrnik.knm.org.pl> <66bn09$cmc$1@sun1000.pwr.wroc.pl> <Pine.LNX.3.96.971206200705.4645B-100000@qrnik.knm.org.pl> <66gp5e$int$3@sun1000.pwr.wroc.pl> <Pine.LNX.3.96.971208202318.4750G-100000@qrnik.knm.org.pl> <66mo3g$1o3@blaszok.knurow.us.pl> <Pine.LNX.3.96.971211171459.4168H-100000@qrnik.knm.org.pl> <66v0dr$19f@blaszok.knurow.us.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczak From: Qrczak <qrczak@knm.org.pl> Newsgroups: pl.comp.os.advocacy Subject: Re: vi (Re: O wyzszosci znaku zachety nad GUI) Date: Sun, 14 Dec 1997 14:05:51 +0100 Organization: Klub Nieszkodliwych Manjaków Lines: 105 Message-ID: <Pine.LNX.3.96.971214135145.599F-100000@qrnik.knm.org.pl> References: <65v131$sol$1@roadrunner.micro-net.net> <661pfv$o0v$1@roadrunner.micro-net.net> <34ac87d6.28075021@news-tpnet.icm.edu.pl> <Pine.LNX.3.96.971205185234.5846H-100000@qrnik.knm.org.pl> <66bn09$cmc$1@sun1000.pwr.wroc.pl> <Pine.LNX.3.96.971206200705.4645B-100000@qrnik.knm.org.pl> <66gp5e$int$3@sun1000.pwr.wroc.pl> <Pine.LNX.3.96.971208202318.4750G-100000@qrnik.knm.org.pl> <66mo3g$1o3@blaszok.knurow.us.pl> <Pine.LNX.3.96.971211171459.4168H-100000@qrnik.knm.org.pl> <66v0dr$19f@blaszok.knurow.us.pl> NNTP-Posting-Host: ppp3-cst233.warszawa.tpnet.pl Mime-Version: 1.0 In-Reply-To: <66v0dr$19f@blaszok.knurow.us.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit