Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-01-2013, 12:11   #1
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
[G?Vim?] Trucchi e problemi

Ispirato da sottovento... ecco qui il 3d

Fatevi sotto
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:16   #2
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Iscritto!

Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:19   #3
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
il titolo ha una particolarità... chi l'ha notata?
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:20   #4
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da The_ouroboros Guarda i messaggi
il titolo ha una particolarità... chi l'ha notata?
Cos'è un'espressione regolare?

Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:20   #5
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
1 - sei un grande!

2 - un mio collega aveva un file xml contenente un milioncino di record del tipo:


Codice:
<data>
    <Number>0</Number>
    <aaa>aaa</aaa>
    <bbb>bbb</bbb>
    <ccc>ccc<cccb>
    .....
</data>
vale a dire, un tag Number che fungeva da id e poi una serie di informazioni relative a detto record.

Si e' poi reso conto che tutti i valori in <Number> dovevano essere incrementati di uno. E lo stava facendo a mano.

Il suggerimento e' stato:
Codice:
:1,$g/^<Number>.*$/s/[0-9][0-9]*/\=(submatch(0)+1)
3 - Se il thread diventa interessante, sarebbe opportuno che un amministratore lo lasci fisso in prima pagina (chiedo scusa a chi non e' interessato a questo editor....)
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:20   #6
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Cos'è un'espressione regolare?

yup
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:22   #7
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Codice:
:1,$g/^<Number>.*$/s/[0-9][0-9]*/\=(submatch(0)+1)
Bellino
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:28   #8
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da The_ouroboros Guarda i messaggi
Bellino
Devi pagarmi aspetto i tuoi segreti.

Intanto aggiungo un trucchetto semplice semplice per i fruitori di questo meraviglioso sito di cui non ricordo il nome (dai, scherzo, e' scritto in alto):

spesso alcuni postatori folli chiedono aiuto su una porzione di codice, e semplicemente lo copiano ed incollano nel post, senza includerlo nell'apposito tag. Il risultato e' che il codice perde tutta l'indentazione e molti si rifiutano di leggere una cosa del genere.

Il problema e' facilmente risolvibile incollando il codice in gvim e scrivendo
Codice:
=G
voila'
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:32   #9
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Ragazzi ve lo dico prima. Tutti questi bei problemini di cui state discutendo qui, saranno oggetto di un futuro contest.

E senza riri chisà...

Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:32   #10
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Codice:
:g/^$/d
per cancellare le linee vuote.
In command mode o* va una linea sotto la corrente e permette l'inserimento da subito.
Invece O* porta tutto sotto di una linea e pertmette l'inserimento una linea sopra la corrente.

Spero come inizio non sia deludente

* la lettera o minuscola/maiuscola
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:35   #11
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
oppure abbiamo la sostituzione di pattern

Codice:
%s/<pattern old>/<pattern new>/gc
Con g lo fa globalmente e con c chiede la conferma

O anche la semplice ricerca id termine con

Codice:
/termine
Oppure, più veloce, ti porti sulla word che vuoi e usi # per cercarla nel testo
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go

Ultima modifica di The_ouroboros : 31-01-2013 alle 12:40.
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:43   #12
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
E cosa dire del fatto che è possibile integrare comandi vi in uno script bash?

P.S: Vim on Win32
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:44   #13
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
E' una cagata, ma lo uso spesso.
Per scambiare due righe tra loro:
Codice:
ddp
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:48   #14
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Si, lo conoscevo ma hai fatto piu' che benissimo a riportare questo trucco, a favore di chi passera' di qui. Non mi hai ancora pagato, pero' (so che hai una lista da qualche parte che non vuoi condividere. Voglio quella )

Visto che ci siamo, torniamo sul copy and paste: vi mette a disposizione 26 +1 blocchi per appunti. L'1 e' quello anonimo, in cui copi se non specifichi nient'altro. Altrimenti puoi riferirti ad un blocco appunti ben specifico, il quale e' identificato con una lettera dell'alfabeto.

Riprendendo quello che ha detto The_ouroboros, con
Codice:
yy
(o semplicemente con Y)
copy una riga. Si puo' anteporre il nome del buffer/blocco appunti mediante il carattere ", per esempio:

Codice:
"aY
copia una riga nel buffer a

Questo e' comodissimo quando, per esempio, si va in giro per il codice a cercare i pezzi di testo da incollare poi da un'altra parte. Invece che spostarsi continuamente avanti e indietro, si puo' copiare ogni parte in un buffer diverso e poi andare a destinazione e copiarli tutti con

Codice:
"ap
(o con "aP, come spiegato da The_ouroboros).

Si ricorda che ai comandi puo' essere anteposto un numero, per esempio:

Codice:
"c100Y
copia 100 righe nel buffer c
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:51   #15
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Si, lo conoscevo ma hai fatto piu' che benissimo a riportare questo trucco, a favore di chi passera' di qui. Non mi hai ancora pagato, pero' (so che hai una lista da qualche parte che non vuoi condividere. Voglio quella )
Ottimo

Diciamo che io combino le mie conoscenze di awk+perl+grep+sed e le riverso in vi.
E molto uso le regexp.
Sono un sysadmin molto strano, lo ammetto.
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 12:57   #16
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
I comandi di vi si possono facilmente combinare fra di loro, offrendo una notevole flessibilita'.

Come esempio e' necessario introdurre i mark. I mark sono delle "bandierine" che si possono mettere nel testo per tornare velocemente in una posizione prefissata. Molti editor l'hanno, ma occorre staccarsi dalla tastiera e usare il mouse. In vi sono integrati.

Se si vuole marcare una linea, basta il comando m seguito dal nome del mark (lettera a...z).
Esempio:
Codice:
ma
volendo tornare al punto marcato, si puo' usare l'apice,
Codice:
'a
Naturalmente si abusa dell'uso del mark m, perche' mm e' facilissimo, cosi' come 'm

Supponiamo ora di voler copiare un blocco di linee senza volerle contare, normalmente marco l'inizio con ma, poi cerco la fine del blocco e lo marco con mm.
Dopo di che con 'a torno all'inizio del blocco e poi lo copio con
Codice:
y'm
Ovviamente posso specificare un buffer:
Codice:
"ay'm
E posso usare i mark anche durante una sostituzioe, per esempio:

:'a,'ms/questo/quello/g
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 13:00   #17
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
dimenticavamo il graal di non muoversi troppo con le dita

Codice:
h, j, k ed l (sinistra, giù, su, destra).
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 13:37   #18
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 14:01   #19
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
come va la tua esplorazione di vi?
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2013, 14:07   #20
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
No, per il momento, fra lavoro e contest, non posso occuparmene. Ma questo thread mi tornerà utilissimo in futuro.

Grazie di cuore a tutti voi
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Oppo Find X10, X10 Pro Max e X10 E: conf...
Dal microscopio all'IA: un cervello di i...
Cyberpunk 2077 arriverà su Battle...
Altro che divieto: interi pallet di GeFo...
QNAPTS-h966TX, il NAS per chi fa editing...
Il trucco semplicissimo per installare W...
Apple rinvia due novità di iOS 27...
Una memoria ferroelettrica raggiunge 10 ...
Honor Magic 9, Pro Max e Super Edition: ...
24 offerte Amazon da non perdere, dalla ...
Apple starebbe progettando i propri cont...
Niente borsa per OpenAI prima del 2027: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v