vim – ściąga

Linux

vim:


Jeśli prawy przycisk myszy powoduje przeście do visual edit zamiast wstawiać tekst ze schowka, to należy utworzyć plik ~/.vimrc i dodać następującą wartość:
set mouse-=a

  • gU (uppercase), gu (lowercase)
  • D – usuwa do końca linii
    . – ponawia ostatnie polecenie

pomoc:
:help – zobacz konkretne pliki
:help change (albo inny), żeby zobaczyć pomoc do konkretnego zagadnienia
ctrl+o – cofnięcie się do poprzedniego punktu pomocy
ctrl+i – przejście dalej (przed cofnięciem ctrl+o)
:h :literka ctrl+d — wyświetla wszystko co zaczyna się na tą literkę (lub słowo); dodatkowo tab przenosi po poleceniach
:h ctrl-f -to samo co- ^f — wyświetla pomoc do ctrl-f

informacje:
:f, ctrl+g — wyświetla ścieżkę otwartego pliku
:set nu
:set nonu — włącza i wyłacza linie w pliku

cut, copy, paste:
register = clipboard
p – wstawia tekst poniżej kursora, jeśli była wycięta cała linia (lub za znakiem, jeśli tylko znak)
P – wstawia tekst powyżej kursora
cut = delete
copy = yank
paste = put

registers:
:reg — zobacz co jest w rejestrach
:reg f g — zobacz, co w rejestrach f i g
“_ — pusty rejestr
“numer — wstawianie z tego rejestru
unnamed, numbered, named, …
“” — unnamed registers; d,c,s,x
“0(yanked) “1(deleted, changed) … — named registers
“A — jeśli chcemy dodać coś do istniejącego rejestru, to duża litera
czyli np: “app (dodaje do rejestru a) i dalej inna linia “App dodaje, “ap wstawiam
u – undo
^R – redo

replace, joining
I – jak i, tylko na początek linii
A – jak i, tylko na koniec linii
a – jak i, tylko kolejna litera
o – nowa linia, pod tą która jesteśmy i przejście do insert
O – jak powyżej, tylko poprzednia linia
90i* – zrobienie 90-ciu gwiazdek
5o# – zrobienie hash na kolejnych pięciu wierszach
10o192.168.1. – 10 wpisów na stornie 192.168.1.

R – replace mode — nadpisywanie tekstu
r – replace mode dla jednej litery, po zamianie wskakuje w normalny mode
c – change mode, cw – wykasuje słowo i poczeka na wspisanie kolejnego
C – usuwa tekst do końca linii i czeka na wpisanie nowego
cc – usuwa całą linię
~ – zmienia literę na dużą/małą
g~w – zamienia słowo na duże/małe
g~% lub g~~ (bo powtarzające się znaki działają na całym wierszu)- zamineia litery duże/małe dla całej linii
gUw – zmainia wszystkie litery na duże
gUU – cała linia, na duże
guw – zmienia litery na małe (słowo)
guu – zmiania małe litery dla całej linii
J – linia z dołu idzie na górę
gJ – linia z dołu na górę, ale bez spacji

search, find and replace:
f i litera – przeniesie do pierwszej litery którą wpisaliśmy
t i literka – wyszukuje litery, ale wstawia kursor przed nią
T,F
; – szuka po kolejnych literkach
, – szuka po poprzednich literkach
dtLITERA – skasuj wszystko do litera

/string – szuka string
?string – szuka, tylko później wyszukiwanie w odwrotnej kolejności
n – wyszukuje kolejny string
N, # – wyszukuje w poprzedniej kolejności
is – incsearch (incremental search) – opcja do wyszukiwania; podświetlanie wyszukiwanej opcji
:set is? – weryfikacja czy włączona
:set is – włączenie opcji — podświetla wyszukiwanie
:set nois – wyłączenie opcji is
hls (hlsearch) (highlighted option) – opcja wyszukiwania, poświetlna wszystkie szukane wystąpienia
:set hls? – sprawdzenie, czy opcja jest aktywna
:set hls – uruchomienie opcji
:set nohls – wyłączenie opcji
:nohls – wyłączenie bieżącego podświetlenia (ale opcja jest włączona)

:s/old/new — zamienia tekst old na new (w biezacej linii, domyślny range jest jeden)
:[range]s/old/new/[flags] — zmienia tekst w zadanym range, czyli :1,5s lub :1,s dla linii 1
. – current line
$ – koniec pliku
% = 1,$ – cały plik
:s#/var/spool#/usr/local# — nie trzeba zamieniać / na \/
:/Pierwszy/,/Drugi/s/to/zamien/ – Pomiędzy słowami Pierwszy i Drugi zamienia to na zmien
:/Pierwszy/,$s/to/zamien/g – Zmienia od Pierwszy do końca pliku

zmiana okienka:
ctrl+w, w

usuwanie:
x – litera
X – litera przed
dw – usunięcie słowa
d(hjkl) – kasuje zgodnie z przesuwaniem kursora
d0 – kasuje wszystko do początku linii
d$, D – kasuje wszystko do końca linii
3dd – usuwa 3 linie (wszystko powyższe tak działa)
d3w – usuwa 3 wyrazy
2d3w – usuwa 6 wyrazów (2 dubluje komendę – komenda to d3w)
. – ponawia ostatnie polecenie
dtc – usuwa wszystko do kolejnego wystąpienia litery c
dfc – usuwa wszystko do kolejnego wystąpienia litery c (wraz z nią) – patrz: https://askubuntu.com/questions/64833/vi-shortcut-to-delete-until-the-next-x-character

nawiagacja:
hjkl
ctrl+f – pg down
ctrl+b – pg up
w – przejście do kolejnego słowa
b – przejście do poprzedniego słowa
W – jak w, ignoruje białe spacje
B – jak b, ignoruje białe spacje
z & enter – przesuwa stronę trochę w górę, lepsze położenie

0 – przejście na początek linii
^ – przejście do pierwszego znaku w linii
$ – kursor na końcu linii
2gg lub 2G lub :2 – przejście do drugiej linii w pliku
gg – początek pliku
G, :$ – koniec pliku

informacja:
ctrl + g – stopka na dole
g, ctrl + g
:set ruler – informacje po prawej stronie na dole
:set noruler – wyłączenie powyższego (podobne zachowanie :set ruler! – raz włącza, później wyłącza)
:set nu
:set nonu — włącza i wyłacza linie w pliku

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.