VI, VIM – krótki tutorial

Podstawowe polecenia:

Vim – edytor tekstu

Vim jest edytorem tekstu działającym w konsoli. Jest klonem popularnego na platformach UNIX edytora VI. Dokładniejsze informacje można odnaleźć na stronie http://pl.wikipedia.org/wiki/Vim#VIM_kontra_VI.

Do najważniejszych zalet tego programu zaliczyłbym:

  • wieloplatformowość – jeśli jest konsola, prawdopodobnie ktoś wpadł już na pomysł aby zainstalować tam VIMa ew. VI
  • znajomość kilku podstawowych komend pozwala nam już wygodnie pracować z programem; w połączeniu z wytnij i wklej na przykład z putty vi daje dobry komfort pracy nawet dla osób przyzwyczajonych do narzędzi graficznych
  • VIM nie modyfikuje plików w sposób niewidoczny – mam przez to na myśli to, że VIM nie dodaje dodatkowych niewidocznych znaczników gdzieś na końcu linii czy pliku; jakie jest to istotne wie każdy, kto miał przyjemność konfiguracji programów typu squidGuard

Vima można lubić bądź nie. Fakt jest taki, że jego znajomość – choć podstawowa bardzo się przyda każdemu kto ma styczność chociażby z systemem linux.

Filozofia pracy w vimie jest trochę odmienna od na przykład tej w notatniku. W vimie jest kilka trybów pracy. Najbardziej generalne rozróżnienie to tryb wprowadzania komend i tryb edycji. Do tego pierwszego zawsze wchodzimy przez wciśnięcie znaku [ESC]. W drugim możemy znaleźć się wielorako, na przykład przez wciśnięcie i lub [shift]+A (wielkość A ma znaczenie). Poniżej przedstawiam kilka komend. Przypominam, że wszystkie muszą być wykonywane w trybie komend – po wciśnięciu [ESC]:

  • dd – kasuje wiersz w których znajduje się kursor (analogicznie 3dd kasuje 3 wiersze), x – kasuje literkę nad którą znajduje się kursor (można 3x – analogicznie j.w.), d) – usuwa całe zdanie od pozycji kursora, d$ – usuwa całe zdanie od pozycji kursora do końca wiersza, c), d$ – analogicznie jak poprzednie, tylko przeprowadza edytor w tryb wprowadzania, dgg – usuwa wszystko od pozycji kursora wyżej
  • [shift]+[A][shift]+[I] – przenosi odpowiednio kursor na koniec wiersza lub początek ustawiając edytor w tryb edycji, [O][shift]+[O] – przenosi kursor nad/pod wiersz z kursorem tworząc kolejny wiersz
  • [V] – przenosi w tryb zaznaczania tekstu, [v] – przenosi w tryb zaznaczania i można zaznaczyć każdy znak pojedyńczo, [Y] – kopiuje linię tekstu do schowka (podobnie [2Y],[10Y]), [yG] – kopiuje tekst od pozycji kursora do końca, yw – kopiuje wyraz, y$ – kopiuje do końca akapitu, [P] – wkleja tekst za kursorem, [p] – wkleja tekst przed kursorem, [yy] – kopiuje bieżący wiersz,
  • / – szukanie, [N] – szukanie kolejnego wystąpienia wyrażenia, [shift]+[N] – szukanie poprzedniego wystąpienia wyrażenia
  • % – szukanie nawiasu otwierającego i zamykającego (po ponownym naciśnięciu),
  • :s/KL/kl – zamiana tekstu, :s/KL/kl/g – zamiana tekstu w całym tekście
  • :help – przenosi w system pomocy, :q – zamyka system pomocy, :help temat – szukanie już konkretnego tematu
  • Łączenie dwóch wierszy: <shift> + J; lub g+J
  • Zamiana kolumny na wiersze i dodanie przecinków: :%s/\n/,/
  • Wklejanie do vim (shift+insert lub ppm) często kończy się zgubieniem formatowania. Tekst wygląda tragicznie i nic w nim nie widać. Aby temu zaradzić (wyłaczyć autoformatowanie, przenoszenie wierszy, wcięcia) należy przed wklejeniem wpisać set: paste a po wklejeniu set:nopaste.

Oczywiście VIM daje znacznie więcej możliwości. Odsyłam do podręcznika systemowego. Myślę, że znajomość powyżej opisanych poleceń pozwala na wygodne poruszanie się po programie. Wygodna jest również funkcja putty, możemy zaznaczać tekst w oknie (co kopiuje materiał do schowka) i wklejać go prawym przyciskiem myszy.

Dla wszystkich korzystających z debiana. Po instalacji dystrybucji domyślnie dysponujemy zainstalowanym programem vi (nie vim). Instalacja vim poleceniem: aptitude install vim. Włączenie podświetlania składni: echo “syntax on” > ~/.vimrc

Uwagi do powyższego materiału proszę przesyłać do mnie.

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Linux
podcast

All podcast applications I have tested were quite OK(ish) – but I have always struggled with organizing podcasts, creating playlists, etc. It has always been challenging. Therefore, for me, it is more convenient to download podcasts as MP3s and manage them myself (in VLC, for example). There are many ways to do that, but my favorite …

Linux
jellyfin configuration in lxc container

Jellyfin is extremely useful software providing home streaming system. I am using it since a while for streaming my old ripped DVD, which I love to watch again and again. Jellyfin is opensource, cross platform as a server and as a client, including client for android and iOS. It is …

Linux
Various helpful Linux commands for file manipulations

Change file name for all files that contains “[any text]” substring to the same name without that.