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.

Free(BSD)
Search for duplicated files

This will be short (but hopefully I will find more time to show entire process to search duplicated files together with some examples). In case you are searching for duplicated files I can recommend two software which actually rocks in openSource world

Linux
2
“Gaming laptop”, steam link and rustdesk.

Not really related to this article, but just wanted to describe the situation.  Most of the time I am working on Linux or Mac. Not a big deal, but last year we bought my daughter a kind of gaming laptop. I am saying kind of, because IMHO there is no …

Azure
NFS issue, cannot be mounted or is not visible

The same kind of issue I have encountered numerous times while working across different environments and with various customers. The problem with NFS mounts connected from remote locations is so common. This issue extends beyond communication solely over WAN and also include connections between datacenters (DC) where we lack control …