SlideShare a Scribd company logo
Sublime Text
tips & tricks
Io sono Luca Montanera (@sidmonta)
Installazione
• La versione stabile è la 2
• La versione 3 è in beta, ma va già molto, molto bene
• La versione 3 ha tre versioni
• Stable
• Dev (http://www.sublimetext.com/3dev)
• Nightly
I pacchetti
• Tutte le impostazioni, plugin, temi ecc. si trovano
nella cartella packages di Sublime
• Raggiungibile da Preferenze-> Browse Packages
• Installazione command line Tool
• Sublime Text 2
•ln -s “Applications/Sublime Text
2.app/Contents/SharedSupport/bin/subl” ~/bin/subl
• Sublime Text 3
•ln -s “Applications/Sublime
Text.app/Contents/SharedSupport/bin/subl” ~/bin/subl
Per Windows o Linux vedere la documentazione
Utilizzare subl
• Aprire una cartella
• subl ~path/to/directory
• Aprire la cartella corrente
• subl .
• Aprire un singolo file
• subl index.js
• Aprire un file alla riga
• subl index.js:200
• Aprire un file alla riga e alla colonna
• subl index.js:200:10
Argomenti di subl
•subl -
Il comando apre sublime come standard output
È utile in coda ad un pipe per far salvare l’output di un comando in
una finestra di sublime.
La si può anche utilizzare per scrivere nella console. Con Cmd+D si
ferma il segnale e si passa a Sublime.
Esempio…
Argomenti di subl
• subl —project <project>
• Apre uno specifico progetto
• subl —command <command>
• Esegue uno specifico comando di sublime
• subl -n file.js
• Apre un file in una nuova window
• subl —add file.js
• Aggiunge un file alla vista attiva
Go to
Go to Anything
Cmd + P
Aprire un file
• Cmd + P
Basta digitare il nome del file che si vuole aprire,
purché faccia parte del progetto.
Esempio…
Andare alla riga
• Cmd + P oppure Ctrl + G
Se si ha premuto solo Cmd+P aggiungere “:” e
scrivere la riga a cui andare.
Esempio…
Andare alla riga e alla colonna
Possibile solo dalla recente versione di Sublime Text
Dev
•Cmd + P oppure Ctrl + G
aggiungere “:” e scrivere la riga a cui andare seguito
da “:” con il numero della colonna
Andare alla definizione
• Cmd + P oppure Ctrl + R
Se si ha premuto solo Cmd+P aggiungere “@” e
scrivere la funzione in cui si vuole andare.
Esempio…
Command Palette
Utilizzo
• Cmd + Shift + P
Digitate il nome del comando che volete eseguire.
Personalizzazione
Settings files
• Il file per ogni modifica di impostazione possibile
sia per sublime che per i plugin si trova in
preferences.
• Tutti i file di configurazione sono in formato JSON
• Per le modifiche dell’editor serve il file Settings -
User
Copia con indentazione
• Aprire il file Key Bindings - User
• Aggiungere le righe
{“keys”: [“super+v”], “command”: “paste_and_indent”},
{“keys”: [“super+shift+v”], “command”: “paste”}
Font
• Aprire il file Settings - User
• “font-face” -> Nome del font
• “font-size” -> Dimensione del font
• “line_padding_bottom" e “line_padding_top" ->
determinano la line height
–Cmd + K, Cmd+ B
Utilizzate la Sidebar
Altre utili modifiche
• “highlight_line" -> Evidenzia la riga selezionata
• “bold_folder_labels" -> Imposta il grassetto al nome delle
cartelle nel sidebar
• “indent_guide_options":["draw_normal","draw_active" ] ->
Mostra le linee guida dell’indentazione
• “highlight_modified_tabs" -> Una schiccheria
• “rulers” -> imposta la colonna in cui visualizzare il righello
Esempio…
Editor
Sublime Code Intel
• Necessita di NodeJS
• Scaricabile da GitHub con il branch Development
• git clone -b development
git@github.com:SublimeCodeIntel/SublimeCodeIntel.git
• Rimuovere la cache
• rm -R ~/.codeintel
• Andare al rispettivo file di configurazione e abilitare
il plugin per i vari linguaggi di programmazione
Finestre multiple
•Nel menu view->layout è possibile impostare una
griglia in cui impostare la finestra del proprio editor
Esempio…
Finestre multiple
Scorciatoie
• Cmd + alt + [1-4] -> Divide lo schermo in [1-4] colonne
• Cmd + alt + 5 -> Divide lo schermo in una griglia 4x4
• Cmd + alt + shift + [2-3] -> Divide lo schermo in [2-3] righe
• Cmd + [1-4] -> Ci si sposta tra le colonne
• Ctrl + Shift + [1-4] -> Sposta il file corrente in una vista
Finestre multiple
Origami
• Cmd + K seguito da …
• Cmd + -> Crea una nuova colonna a destra→
• Cmd + -> Crea una nuova colonna a sinistra←
• Cmd + -> Crea una nuova riga in alto↑
• Cmd + -> Crea una nuova riga in basso↓
• Per distruggere una view aggiungere Shift al comando
• Focus
• Cmd + K seguito da , , ,→ ← ↑ ↓
• Spostare file
• Cmd + K seguito da Shift + , , ,→ ← ↑ ↓
Cursore multiplo
•Per aggiungere un cursore in un determinato punto
basta tenere premuto Cmd e cliccare dove lo si
vuole aggiungere
•Se non si vuole usare il mouse… Ctrl + Alt + o↓ ↑
Esempio…
• Si può selezionare tutte le istanze di una parola e
consecutivamente piazzare un cursore a quella
parola con Cmd + D
•Per saltare un valore Cmd + K + D
Esempio…
• Piazzare il cursore ad ogni riga di un blocco senza
dover premere per ogni riga:
1. Piazzare il cursore all prima riga del blocco
2. Tenendo premuto Cmd + Alt
3. Evidenziare il resto delle righe
Esempio…
Azioni da tastiera
• Cmd + Ctrl + o -> sposta una riga in alto o in basso↑ ↓
• Cmd + J -> unisce due righe
• Cmd + Shift + D -> duplica una riga
• Cmd + Shift + K -> seleziona i tag
• Ctrl + Shift + K -> elimina una riga
• Cmd + backspace -> elimina il testo dal cursore alla fine della stringa
• Ctrl + backspace -> elimina una parola (sinistra)
• Ctrl + fn + backspace -> elimina una parola (destra)
• Cmd + Enter -> aggiunge una riga sotto
• Cmd + Shift + Enter -> aggiunge una riga sopra
• Shift + Cmd + a -> Seleziona il contenuto di un tag
(solo il contenuto)
• Ctrl + Shift + M -> Seleziona il contenuto di una
parentesi
• Cmd + L -> Evidenzia l’intera riga
Temi e colori
Color Scheme
• Si può cambiare il Color Scheme semplicemente
selezionando quello che più si aggrada nel menu
• Preferences->Color Scheme
• Oppure modificando il file di preferenze
• “color_scheme”: url al color scheme
• Si possono trovare molti color scheme su internet o sul
package control
• Oppure personalizzarne uno con dei tools online
Temi
• I temi li si scaricano dal Package Control
• Per abilitarne uno occorre dichiararlo nel fili di preferenze
• “theme":
• Ogni tema ha le proprie preferenze, bisogna vedere le
opzioni sulla documentazione del tema
• I temi più famosi (da cui nascono le fork) sono Soda e
Cobalt2
• Degni di nota sono a mio parere:
Cobalt2
Platto
itg-flat
Snippets
Snippets
•Sublime supporta nativamente gli snippets
•Ne si può creare uno da Tool->New Snippet…
<snippet>
<content><![CDATA[I ${1:love} to make ${2:snippets!}.${3}]]></content>
<tabTrigger>hello</tabTrigger>
<scope>source.python</scope>
<description>A sample snippet</description>
</snippet>
• Lo snippet vero è proprio va inserito tra il CDATA
• ${1:default text for this placeholder} setta un place
holder che all’utilizzo verrà selezionato per poter poi
essere sostituito con il valore corretto
• Gli snippets vanno salvati in una cartella snippets
dentro la cartella Users di Sublime Text
• È possibile trovare degli snippets già fatti nel
package control
Opzioni di ricerca
• [ * ] possibilità di usare le regex
• [ Aa ] ricerca case sensitive
• [ “ ] ricerca anche una porzione di stringa
Progetti
• .sublime-project
• Setta le impostazione di un progetto
• .sublime-workspace
• Setta le impostazioni dell’editor di quel progetto
• Switch veloce per progetti
• Ctrl + Cmd + P
.sublime-project
• Imposta tutte le cartelle facenti parte il progetto
• Gli setta un nome -> “name”
• Se seguire i link -> “follow_symlinks”
• Escludere file -> “file_exclude_patterns”
Build
http://docs.sublimetext.info/en/latest/reference/build_systems.html
http://addyosmani.com/blog/custom-sublime-text-build-systems-for-popular-tools-and-la
Per maggiori informazioni
Sublime permette di definire degli script da eseguire
per compilare la pagina attiva per vari linguaggi di
programmazione
Bookmarks
Bookmarks
• In sublime in qualsiasi documento è possibile
settore dei segnalibri
• Selezionata una riga è possibile applicare un
segnalibro con Cmd + F2
• I segnalibri sono indicati nella sezione GoTo-
>Bookmarks
Lavorare con Git
Git
• È presente un plugin per Sublime di Git reperibile
tramite il package control
• Il plugin mette a disposizione molti comandi
richiamabili tramite la Command Palette
Sublime Git: comandi
• Il plugin mette a disposizione i principali comandi di
Git
• git init
• git status
• I file segnati con ?? sono non tracciati
• git add
• git commit
• Il file si chiude con Cmd + W
• git push
• git diff
• git pull
• git branch
• Degno di nota è il comando git quick commit
Package Control
Installare il package control
• Andare alla pagina
https://packagecontrol.io/installation
• Aprire la console di sublime
• Copiare lo script reperibile alla pagina citata
• Premere Invio
• Riavviare Sublime
Color Highlighter
• Permette di vedere il vero colore inserito tramite
codifica esadecimale e non
GitCutter
• Fa apparire nel lato sinistro di una riga un icona in
base alla modifica rilevata da Git
• Ti avverte visivamente se una riga è stata
aggiunta, modificata o rimossa
Emmet
• Il famigerato plugin per la stesura veloce di HTML
• Oltre a quello mette a disposizione un comodo
comando per wrappare del testo selezionato in tag
scritti con la dicitura di emmet
LiveReload (o Takana)
• Esegue un server locale per ricaricare una pagina
web dinamicamente al cambiamento del codice
• Necessita di una estensione per browser
Sublime Server
• Implementa un banalissimo server apache usabile
per quel progetto o cartella.
VAlingn
• Aggiunge una scorciatoia per allineare gli uguali
DocBlock
• Permette di scrivere rapidamente documentazione
PHP, Javascript
Grunt
• Mette a disposizione grunt senza passare da
terminale
Indent XML e Pretty JSON
• Indentano i file XML e JSON per una più facile
visualizzazione
Sublime SFTP
• Permette di connettersi ad un server tramite SFTP
• File->SFTP/FTP->Setup Server
• Permette di navigare su un server (una volta connessi)
• File -> SFTP/FTP->Browse Server
• Permette di mappare una cartella locale con una in
remoto
• Click destro sulla cartella da mappare
Vim Mode
• Il pacchetto è Vintageous per Sublime 3
• Mette a disposizione tutte le scorciatoie da tastiera
per utilizzare sublime come se fossimo in Vim
• Ma perché mai uno dovrebbe?
AutoFileName
• Permette, quando si sta digitando un percorso, di
utilizzare un autocomplete sui nomi dei file e delle
cartelle
Sidebar enhancements
• Aggiunge funzionalità molto utili al click destro su
un file/cartella nella sidebar
• Spostare nel cestino
• Copia/Incolla
• Aprire nel browser
• Copiare il contenuto di un file come data:uri base64
• Duplicate
• …
Bracket Highlighter  
• Un plugin avanzato per la visualizzazione del
matching di parentesi
xdebug
• Permette di debuggare un progetto
• Non funziona su singoli file
• È un po’ troppo scomodo
Sublime REPL
• Trasforma la finestra di sublime in un terminale con attivo un
determinato interprete
• Esistono svariati interpreti
• Python
• Haskell
• PHP
• Ruby
• CoffeeScript
Sinstassi
• Esistono pacchetti per quasi tutti i linguaggi di programmazione
• Implementano l’autocomplete e l’evidenziazione del colore
• jQuery
• Wordpress
• PHP
• SASS
• CSS 3
• …
Linting
Sublime Linter
• È un sistema di controllo del codice scritto in realtime
• Il pacchetto principale è Sublime Linter, ma occorre aggiungere
un pacchetto per ogni linter che si vuole utilizzare.
• Ogni linter necessita dell’eseguibile nella propria macchina.
• Es. se si fa lint di php occorre che sublime possa accedere a
>> php -i
• Se si fa lint di javascript bisogna aver scaricato con node.js
jshint
• Ecc.
Grazie
Domande?
–Cav. Silvio Berlusconi
“And I want to say another thing. I consider the
American flag, not only a flag of a nation; but
also a symbol of democracy and freedom”.

More Related Content

What's hot

Computer Assisted Audit Techniques (CAATS) - IS AUDIT
Computer Assisted Audit Techniques (CAATS) - IS AUDITComputer Assisted Audit Techniques (CAATS) - IS AUDIT
Computer Assisted Audit Techniques (CAATS) - IS AUDIT
Shahzeb Pirzada
 
Solution Manual Advanced Accounting by Baker 9e Chapter 16
Solution Manual Advanced Accounting by Baker 9e Chapter 16Solution Manual Advanced Accounting by Baker 9e Chapter 16
Solution Manual Advanced Accounting by Baker 9e Chapter 16
Saskia Ahmad
 
Tugas auditing no.3
Tugas auditing no.3Tugas auditing no.3
Tugas auditing no.3
Sophia Ririn
 
Chapter 2 auditing it governance controls
Chapter 2 auditing it governance controlsChapter 2 auditing it governance controls
Chapter 2 auditing it governance controls
Tommy Zul Hidayat
 
Bab 1 Akuisisi Antar Perusahaan dan Investasi pada Entitas Lain.pptx
Bab 1 Akuisisi Antar Perusahaan dan Investasi pada Entitas Lain.pptxBab 1 Akuisisi Antar Perusahaan dan Investasi pada Entitas Lain.pptx
Bab 1 Akuisisi Antar Perusahaan dan Investasi pada Entitas Lain.pptx
warnetzeus
 
Chapter#5
Chapter#5Chapter#5
Chapter#5
Rahmat Febrianto
 
Network security and firewalls
Network security and firewallsNetwork security and firewalls
Network security and firewalls
Murali Mohan
 
hubungan antara kantor pusat dengan cabang
hubungan antara kantor pusat dengan cabanghubungan antara kantor pusat dengan cabang
hubungan antara kantor pusat dengan cabang
fazri himawan
 
SFAC no 8
SFAC no 8SFAC no 8
SFAC no 8
Rahmat Febrianto
 
Audit berbasis resiko
Audit berbasis resikoAudit berbasis resiko
Audit berbasis resiko
Belqis Oraya
 
solusi manual advanced acc zy Chap006
solusi manual advanced acc zy Chap006solusi manual advanced acc zy Chap006
solusi manual advanced acc zy Chap006
Suzie Lestari
 
Strategi audit
Strategi auditStrategi audit
Strategi audit
Danang Mahendra
 
Analisis laporan-kinerja-keuangan
Analisis laporan-kinerja-keuanganAnalisis laporan-kinerja-keuangan
Analisis laporan-kinerja-keuangan
Farah Nurfauziah
 
AKL 2 Konsolidasi dengan metode ekuitas
AKL 2 Konsolidasi dengan metode ekuitasAKL 2 Konsolidasi dengan metode ekuitas
AKL 2 Konsolidasi dengan metode ekuitas
Rendra Safa'at
 
Solution Manual Advanced Accounting Chapter 15 9th Edition by Baker
Solution Manual Advanced Accounting Chapter 15 9th Edition by BakerSolution Manual Advanced Accounting Chapter 15 9th Edition by Baker
Solution Manual Advanced Accounting Chapter 15 9th Edition by Baker
Saskia Ahmad
 
Servlet and Servlet Life Cycle
Servlet and Servlet Life CycleServlet and Servlet Life Cycle
Servlet and Servlet Life Cycle
Dhrumil Panchal
 
2.makalah aspek keperilakuan
2.makalah aspek keperilakuan2.makalah aspek keperilakuan
2.makalah aspek keperilakuan
DIANA LESTARI
 
Information System audit
Information System auditInformation System audit
Information System audit
Pratapchandra
 
Kunci jawaban bab 7 teori akuntansi suwardjono
Kunci jawaban bab 7 teori akuntansi suwardjonoKunci jawaban bab 7 teori akuntansi suwardjono
Kunci jawaban bab 7 teori akuntansi suwardjonoHerna Ferari
 

What's hot (20)

Computer Assisted Audit Techniques (CAATS) - IS AUDIT
Computer Assisted Audit Techniques (CAATS) - IS AUDITComputer Assisted Audit Techniques (CAATS) - IS AUDIT
Computer Assisted Audit Techniques (CAATS) - IS AUDIT
 
Solution Manual Advanced Accounting by Baker 9e Chapter 16
Solution Manual Advanced Accounting by Baker 9e Chapter 16Solution Manual Advanced Accounting by Baker 9e Chapter 16
Solution Manual Advanced Accounting by Baker 9e Chapter 16
 
Tugas auditing no.3
Tugas auditing no.3Tugas auditing no.3
Tugas auditing no.3
 
Chapter 2 auditing it governance controls
Chapter 2 auditing it governance controlsChapter 2 auditing it governance controls
Chapter 2 auditing it governance controls
 
Bab 1 Akuisisi Antar Perusahaan dan Investasi pada Entitas Lain.pptx
Bab 1 Akuisisi Antar Perusahaan dan Investasi pada Entitas Lain.pptxBab 1 Akuisisi Antar Perusahaan dan Investasi pada Entitas Lain.pptx
Bab 1 Akuisisi Antar Perusahaan dan Investasi pada Entitas Lain.pptx
 
Chapter#5
Chapter#5Chapter#5
Chapter#5
 
Network security and firewalls
Network security and firewallsNetwork security and firewalls
Network security and firewalls
 
hubungan antara kantor pusat dengan cabang
hubungan antara kantor pusat dengan cabanghubungan antara kantor pusat dengan cabang
hubungan antara kantor pusat dengan cabang
 
SFAC no 8
SFAC no 8SFAC no 8
SFAC no 8
 
Audit berbasis resiko
Audit berbasis resikoAudit berbasis resiko
Audit berbasis resiko
 
solusi manual advanced acc zy Chap006
solusi manual advanced acc zy Chap006solusi manual advanced acc zy Chap006
solusi manual advanced acc zy Chap006
 
Strategi audit
Strategi auditStrategi audit
Strategi audit
 
Analisis laporan-kinerja-keuangan
Analisis laporan-kinerja-keuanganAnalisis laporan-kinerja-keuangan
Analisis laporan-kinerja-keuangan
 
AKL 2 Konsolidasi dengan metode ekuitas
AKL 2 Konsolidasi dengan metode ekuitasAKL 2 Konsolidasi dengan metode ekuitas
AKL 2 Konsolidasi dengan metode ekuitas
 
Solution Manual Advanced Accounting Chapter 15 9th Edition by Baker
Solution Manual Advanced Accounting Chapter 15 9th Edition by BakerSolution Manual Advanced Accounting Chapter 15 9th Edition by Baker
Solution Manual Advanced Accounting Chapter 15 9th Edition by Baker
 
Servlet and Servlet Life Cycle
Servlet and Servlet Life CycleServlet and Servlet Life Cycle
Servlet and Servlet Life Cycle
 
2.makalah aspek keperilakuan
2.makalah aspek keperilakuan2.makalah aspek keperilakuan
2.makalah aspek keperilakuan
 
Slide ta05
Slide ta05Slide ta05
Slide ta05
 
Information System audit
Information System auditInformation System audit
Information System audit
 
Kunci jawaban bab 7 teori akuntansi suwardjono
Kunci jawaban bab 7 teori akuntansi suwardjonoKunci jawaban bab 7 teori akuntansi suwardjono
Kunci jawaban bab 7 teori akuntansi suwardjono
 

Viewers also liked

Introduction to OpenStack Architecture
Introduction to OpenStack ArchitectureIntroduction to OpenStack Architecture
Introduction to OpenStack Architecture
OpenStack Foundation
 
Un Sistema Aperto Per Menti Aperte
Un Sistema Aperto Per Menti AperteUn Sistema Aperto Per Menti Aperte
Un Sistema Aperto Per Menti AperteEmmanuele Bello
 
Sistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambienteSistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambiente
freedomotic
 
Temc 2010 Presentation: Benchmarking to
Temc 2010 Presentation: Benchmarking to Temc 2010 Presentation: Benchmarking to
Temc 2010 Presentation: Benchmarking to
Brigid Freeman
 
San Pedrín de la Cueva Mateo
San Pedrín de la Cueva   MateoSan Pedrín de la Cueva   Mateo
San Pedrín de la Cueva Mateo
isarevi
 
Ws Waalstand 2013 februari
Ws Waalstand 2013 februariWs Waalstand 2013 februari
Ws Waalstand 2013 februarievwslide
 
Jonatan
JonatanJonatan
Jonatan
isarevi
 
Piazza Navona - Federico e Leonardo
Piazza Navona - Federico e LeonardoPiazza Navona - Federico e Leonardo
Piazza Navona - Federico e Leonardoisarevi
 
Tutorial para ingreso del curriculum al portal laboral cibertec
Tutorial para ingreso del curriculum al portal laboral cibertecTutorial para ingreso del curriculum al portal laboral cibertec
Tutorial para ingreso del curriculum al portal laboral cibertec
LNolbert
 
Копирайт и Социални Медии
Копирайт и Социални МедииКопирайт и Социални Медии
Копирайт и Социални Медии
Lyubomir Lyubomirov
 
Proyecto
ProyectoProyecto
Proyecto
leonardo
 
Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae
picalua
 
Guillermo
GuillermoGuillermo
Guillermo
isarevi
 
Presentation
PresentationPresentation
Presentation
Shahriar Khan
 
디지털엔터테인먼트수정
디지털엔터테인먼트수정디지털엔터테인먼트수정
디지털엔터테인먼트수정전유진
 
Customer_Service_on_Twitter_Playbook
Customer_Service_on_Twitter_PlaybookCustomer_Service_on_Twitter_Playbook
Customer_Service_on_Twitter_Playbook
Raj Narayanan
 
Top 3-tech-trends-marketers-should-watch-in-2015 infographics
Top 3-tech-trends-marketers-should-watch-in-2015 infographicsTop 3-tech-trends-marketers-should-watch-in-2015 infographics
Top 3-tech-trends-marketers-should-watch-in-2015 infographics
Raj Narayanan
 
Sesion 5 arbol problemas (1)
Sesion 5 arbol problemas (1)Sesion 5 arbol problemas (1)
Sesion 5 arbol problemas (1)
LNolbert
 

Viewers also liked (20)

Introduction to OpenStack Architecture
Introduction to OpenStack ArchitectureIntroduction to OpenStack Architecture
Introduction to OpenStack Architecture
 
Un Sistema Aperto Per Menti Aperte
Un Sistema Aperto Per Menti AperteUn Sistema Aperto Per Menti Aperte
Un Sistema Aperto Per Menti Aperte
 
dietro_il_coding_2
dietro_il_coding_2dietro_il_coding_2
dietro_il_coding_2
 
Sistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambienteSistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambiente
 
Ci Town&amp;Country
Ci Town&amp;CountryCi Town&amp;Country
Ci Town&amp;Country
 
Temc 2010 Presentation: Benchmarking to
Temc 2010 Presentation: Benchmarking to Temc 2010 Presentation: Benchmarking to
Temc 2010 Presentation: Benchmarking to
 
San Pedrín de la Cueva Mateo
San Pedrín de la Cueva   MateoSan Pedrín de la Cueva   Mateo
San Pedrín de la Cueva Mateo
 
Ws Waalstand 2013 februari
Ws Waalstand 2013 februariWs Waalstand 2013 februari
Ws Waalstand 2013 februari
 
Jonatan
JonatanJonatan
Jonatan
 
Piazza Navona - Federico e Leonardo
Piazza Navona - Federico e LeonardoPiazza Navona - Federico e Leonardo
Piazza Navona - Federico e Leonardo
 
Tutorial para ingreso del curriculum al portal laboral cibertec
Tutorial para ingreso del curriculum al portal laboral cibertecTutorial para ingreso del curriculum al portal laboral cibertec
Tutorial para ingreso del curriculum al portal laboral cibertec
 
Копирайт и Социални Медии
Копирайт и Социални МедииКопирайт и Социални Медии
Копирайт и Социални Медии
 
Proyecto
ProyectoProyecto
Proyecto
 
Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae
 
Guillermo
GuillermoGuillermo
Guillermo
 
Presentation
PresentationPresentation
Presentation
 
디지털엔터테인먼트수정
디지털엔터테인먼트수정디지털엔터테인먼트수정
디지털엔터테인먼트수정
 
Customer_Service_on_Twitter_Playbook
Customer_Service_on_Twitter_PlaybookCustomer_Service_on_Twitter_Playbook
Customer_Service_on_Twitter_Playbook
 
Top 3-tech-trends-marketers-should-watch-in-2015 infographics
Top 3-tech-trends-marketers-should-watch-in-2015 infographicsTop 3-tech-trends-marketers-should-watch-in-2015 infographics
Top 3-tech-trends-marketers-should-watch-in-2015 infographics
 
Sesion 5 arbol problemas (1)
Sesion 5 arbol problemas (1)Sesion 5 arbol problemas (1)
Sesion 5 arbol problemas (1)
 

Similar to Sublime Text Tips & Tricks

Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Gerardo Di Iorio
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
sscalabrino
 
Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)
Valerio Radice
 
TYPO3 CMS 8.4 - Le novità
TYPO3 CMS 8.4 - Le novitàTYPO3 CMS 8.4 - Le novità
TYPO3 CMS 8.4 - Le novità
Roberto Torresani
 
4 dw parte2-modifiche
4 dw parte2-modifiche4 dw parte2-modifiche
4 dw parte2-modifiche
Lab Nova
 
Introduzione a Git
Introduzione a GitIntroduzione a Git
Introduzione a Git
Stefano Valle
 
TYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le NovitàTYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le Novità
Roberto Torresani
 
Presentazione django reminiscence
Presentazione django reminiscencePresentazione django reminiscence
Presentazione django reminiscence
Andrea Gottardi
 
TYPO3 CMS 7.5: le novita
TYPO3 CMS 7.5: le novita TYPO3 CMS 7.5: le novita
TYPO3 CMS 7.5: le novita
Roberto Torresani
 
Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)STELITANO
 
Novita TYPO3 CMS 7.2
Novita TYPO3 CMS 7.2Novita TYPO3 CMS 7.2
Novita TYPO3 CMS 7.2
Roberto Torresani
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
Vincenzo Paolo Fraddosio
 
TYPO3 CMS 7.4 Le novita
TYPO3 CMS 7.4 Le novitaTYPO3 CMS 7.4 Le novita
TYPO3 CMS 7.4 Le novita
Roberto Torresani
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
Alessandro del Gobbo
 
ios 8 - parte 2 - todo-app - ita
ios 8 - parte 2 - todo-app - itaios 8 - parte 2 - todo-app - ita
ios 8 - parte 2 - todo-app - ita
Dario Rusignuolo
 
Introduzione a TypeScript
Introduzione a TypeScriptIntroduzione a TypeScript
Introduzione a TypeScriptSinergia Totale
 
TYPO3 CMS 8.0 - Le novità
TYPO3 CMS 8.0 - Le novitàTYPO3 CMS 8.0 - Le novità
TYPO3 CMS 8.0 - Le novità
Roberto Torresani
 
Bash intro
Bash introBash intro
Bash intro
Giuseppe Levi
 

Similar to Sublime Text Tips & Tricks (20)

Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)
 
TYPO3 CMS 8.4 - Le novità
TYPO3 CMS 8.4 - Le novitàTYPO3 CMS 8.4 - Le novità
TYPO3 CMS 8.4 - Le novità
 
4 dw parte2-modifiche
4 dw parte2-modifiche4 dw parte2-modifiche
4 dw parte2-modifiche
 
Introduzione a Git
Introduzione a GitIntroduzione a Git
Introduzione a Git
 
TYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le NovitàTYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le Novità
 
Presentazione django reminiscence
Presentazione django reminiscencePresentazione django reminiscence
Presentazione django reminiscence
 
TYPO3 CMS 7.5: le novita
TYPO3 CMS 7.5: le novita TYPO3 CMS 7.5: le novita
TYPO3 CMS 7.5: le novita
 
Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)
 
Novita TYPO3 CMS 7.2
Novita TYPO3 CMS 7.2Novita TYPO3 CMS 7.2
Novita TYPO3 CMS 7.2
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
GitSlides
GitSlidesGitSlides
GitSlides
 
X2 Linux Riassunti
X2 Linux RiassuntiX2 Linux Riassunti
X2 Linux Riassunti
 
TYPO3 CMS 7.4 Le novita
TYPO3 CMS 7.4 Le novitaTYPO3 CMS 7.4 Le novita
TYPO3 CMS 7.4 Le novita
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
 
ios 8 - parte 2 - todo-app - ita
ios 8 - parte 2 - todo-app - itaios 8 - parte 2 - todo-app - ita
ios 8 - parte 2 - todo-app - ita
 
Introduzione a TypeScript
Introduzione a TypeScriptIntroduzione a TypeScript
Introduzione a TypeScript
 
TYPO3 CMS 8.0 - Le novità
TYPO3 CMS 8.0 - Le novitàTYPO3 CMS 8.0 - Le novità
TYPO3 CMS 8.0 - Le novità
 
Bash intro
Bash introBash intro
Bash intro
 

Sublime Text Tips & Tricks

  • 2. Io sono Luca Montanera (@sidmonta)
  • 4. • La versione stabile è la 2 • La versione 3 è in beta, ma va già molto, molto bene • La versione 3 ha tre versioni • Stable • Dev (http://www.sublimetext.com/3dev) • Nightly
  • 5. I pacchetti • Tutte le impostazioni, plugin, temi ecc. si trovano nella cartella packages di Sublime • Raggiungibile da Preferenze-> Browse Packages
  • 6. • Installazione command line Tool • Sublime Text 2 •ln -s “Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl” ~/bin/subl • Sublime Text 3 •ln -s “Applications/Sublime Text.app/Contents/SharedSupport/bin/subl” ~/bin/subl Per Windows o Linux vedere la documentazione
  • 7. Utilizzare subl • Aprire una cartella • subl ~path/to/directory • Aprire la cartella corrente • subl . • Aprire un singolo file • subl index.js • Aprire un file alla riga • subl index.js:200 • Aprire un file alla riga e alla colonna • subl index.js:200:10
  • 8. Argomenti di subl •subl - Il comando apre sublime come standard output È utile in coda ad un pipe per far salvare l’output di un comando in una finestra di sublime. La si può anche utilizzare per scrivere nella console. Con Cmd+D si ferma il segnale e si passa a Sublime. Esempio…
  • 9. Argomenti di subl • subl —project <project> • Apre uno specifico progetto • subl —command <command> • Esegue uno specifico comando di sublime • subl -n file.js • Apre un file in una nuova window • subl —add file.js • Aggiunge un file alla vista attiva
  • 10. Go to
  • 12. Aprire un file • Cmd + P Basta digitare il nome del file che si vuole aprire, purché faccia parte del progetto. Esempio…
  • 13. Andare alla riga • Cmd + P oppure Ctrl + G Se si ha premuto solo Cmd+P aggiungere “:” e scrivere la riga a cui andare. Esempio…
  • 14. Andare alla riga e alla colonna Possibile solo dalla recente versione di Sublime Text Dev •Cmd + P oppure Ctrl + G aggiungere “:” e scrivere la riga a cui andare seguito da “:” con il numero della colonna
  • 15. Andare alla definizione • Cmd + P oppure Ctrl + R Se si ha premuto solo Cmd+P aggiungere “@” e scrivere la funzione in cui si vuole andare. Esempio…
  • 17. Utilizzo • Cmd + Shift + P Digitate il nome del comando che volete eseguire.
  • 19. Settings files • Il file per ogni modifica di impostazione possibile sia per sublime che per i plugin si trova in preferences. • Tutti i file di configurazione sono in formato JSON • Per le modifiche dell’editor serve il file Settings - User
  • 20. Copia con indentazione • Aprire il file Key Bindings - User • Aggiungere le righe {“keys”: [“super+v”], “command”: “paste_and_indent”}, {“keys”: [“super+shift+v”], “command”: “paste”}
  • 21. Font • Aprire il file Settings - User • “font-face” -> Nome del font • “font-size” -> Dimensione del font • “line_padding_bottom" e “line_padding_top" -> determinano la line height
  • 22. –Cmd + K, Cmd+ B Utilizzate la Sidebar
  • 23. Altre utili modifiche • “highlight_line" -> Evidenzia la riga selezionata • “bold_folder_labels" -> Imposta il grassetto al nome delle cartelle nel sidebar • “indent_guide_options":["draw_normal","draw_active" ] -> Mostra le linee guida dell’indentazione • “highlight_modified_tabs" -> Una schiccheria • “rulers” -> imposta la colonna in cui visualizzare il righello Esempio…
  • 25. Sublime Code Intel • Necessita di NodeJS • Scaricabile da GitHub con il branch Development • git clone -b development git@github.com:SublimeCodeIntel/SublimeCodeIntel.git • Rimuovere la cache • rm -R ~/.codeintel • Andare al rispettivo file di configurazione e abilitare il plugin per i vari linguaggi di programmazione
  • 26. Finestre multiple •Nel menu view->layout è possibile impostare una griglia in cui impostare la finestra del proprio editor Esempio…
  • 27. Finestre multiple Scorciatoie • Cmd + alt + [1-4] -> Divide lo schermo in [1-4] colonne • Cmd + alt + 5 -> Divide lo schermo in una griglia 4x4 • Cmd + alt + shift + [2-3] -> Divide lo schermo in [2-3] righe • Cmd + [1-4] -> Ci si sposta tra le colonne • Ctrl + Shift + [1-4] -> Sposta il file corrente in una vista
  • 28. Finestre multiple Origami • Cmd + K seguito da … • Cmd + -> Crea una nuova colonna a destra→ • Cmd + -> Crea una nuova colonna a sinistra← • Cmd + -> Crea una nuova riga in alto↑ • Cmd + -> Crea una nuova riga in basso↓ • Per distruggere una view aggiungere Shift al comando
  • 29. • Focus • Cmd + K seguito da , , ,→ ← ↑ ↓ • Spostare file • Cmd + K seguito da Shift + , , ,→ ← ↑ ↓
  • 30. Cursore multiplo •Per aggiungere un cursore in un determinato punto basta tenere premuto Cmd e cliccare dove lo si vuole aggiungere •Se non si vuole usare il mouse… Ctrl + Alt + o↓ ↑ Esempio…
  • 31. • Si può selezionare tutte le istanze di una parola e consecutivamente piazzare un cursore a quella parola con Cmd + D •Per saltare un valore Cmd + K + D Esempio…
  • 32. • Piazzare il cursore ad ogni riga di un blocco senza dover premere per ogni riga: 1. Piazzare il cursore all prima riga del blocco 2. Tenendo premuto Cmd + Alt 3. Evidenziare il resto delle righe Esempio…
  • 33. Azioni da tastiera • Cmd + Ctrl + o -> sposta una riga in alto o in basso↑ ↓ • Cmd + J -> unisce due righe • Cmd + Shift + D -> duplica una riga • Cmd + Shift + K -> seleziona i tag • Ctrl + Shift + K -> elimina una riga • Cmd + backspace -> elimina il testo dal cursore alla fine della stringa • Ctrl + backspace -> elimina una parola (sinistra) • Ctrl + fn + backspace -> elimina una parola (destra)
  • 34. • Cmd + Enter -> aggiunge una riga sotto • Cmd + Shift + Enter -> aggiunge una riga sopra • Shift + Cmd + a -> Seleziona il contenuto di un tag (solo il contenuto) • Ctrl + Shift + M -> Seleziona il contenuto di una parentesi • Cmd + L -> Evidenzia l’intera riga
  • 36. Color Scheme • Si può cambiare il Color Scheme semplicemente selezionando quello che più si aggrada nel menu • Preferences->Color Scheme • Oppure modificando il file di preferenze • “color_scheme”: url al color scheme • Si possono trovare molti color scheme su internet o sul package control • Oppure personalizzarne uno con dei tools online
  • 37. Temi • I temi li si scaricano dal Package Control • Per abilitarne uno occorre dichiararlo nel fili di preferenze • “theme": • Ogni tema ha le proprie preferenze, bisogna vedere le opzioni sulla documentazione del tema • I temi più famosi (da cui nascono le fork) sono Soda e Cobalt2 • Degni di nota sono a mio parere:
  • 42. Snippets •Sublime supporta nativamente gli snippets •Ne si può creare uno da Tool->New Snippet… <snippet> <content><![CDATA[I ${1:love} to make ${2:snippets!}.${3}]]></content> <tabTrigger>hello</tabTrigger> <scope>source.python</scope> <description>A sample snippet</description> </snippet>
  • 43. • Lo snippet vero è proprio va inserito tra il CDATA • ${1:default text for this placeholder} setta un place holder che all’utilizzo verrà selezionato per poter poi essere sostituito con il valore corretto • Gli snippets vanno salvati in una cartella snippets dentro la cartella Users di Sublime Text • È possibile trovare degli snippets già fatti nel package control
  • 45. • [ * ] possibilità di usare le regex • [ Aa ] ricerca case sensitive • [ “ ] ricerca anche una porzione di stringa
  • 47. • .sublime-project • Setta le impostazione di un progetto • .sublime-workspace • Setta le impostazioni dell’editor di quel progetto • Switch veloce per progetti • Ctrl + Cmd + P
  • 48. .sublime-project • Imposta tutte le cartelle facenti parte il progetto • Gli setta un nome -> “name” • Se seguire i link -> “follow_symlinks” • Escludere file -> “file_exclude_patterns”
  • 49. Build
  • 52. Bookmarks • In sublime in qualsiasi documento è possibile settore dei segnalibri • Selezionata una riga è possibile applicare un segnalibro con Cmd + F2 • I segnalibri sono indicati nella sezione GoTo- >Bookmarks
  • 54. Git • È presente un plugin per Sublime di Git reperibile tramite il package control • Il plugin mette a disposizione molti comandi richiamabili tramite la Command Palette
  • 55. Sublime Git: comandi • Il plugin mette a disposizione i principali comandi di Git • git init • git status • I file segnati con ?? sono non tracciati • git add
  • 56. • git commit • Il file si chiude con Cmd + W • git push • git diff • git pull • git branch • Degno di nota è il comando git quick commit
  • 58. Installare il package control • Andare alla pagina https://packagecontrol.io/installation • Aprire la console di sublime • Copiare lo script reperibile alla pagina citata • Premere Invio • Riavviare Sublime
  • 59. Color Highlighter • Permette di vedere il vero colore inserito tramite codifica esadecimale e non
  • 60. GitCutter • Fa apparire nel lato sinistro di una riga un icona in base alla modifica rilevata da Git • Ti avverte visivamente se una riga è stata aggiunta, modificata o rimossa
  • 61. Emmet • Il famigerato plugin per la stesura veloce di HTML • Oltre a quello mette a disposizione un comodo comando per wrappare del testo selezionato in tag scritti con la dicitura di emmet
  • 62. LiveReload (o Takana) • Esegue un server locale per ricaricare una pagina web dinamicamente al cambiamento del codice • Necessita di una estensione per browser
  • 63. Sublime Server • Implementa un banalissimo server apache usabile per quel progetto o cartella.
  • 64. VAlingn • Aggiunge una scorciatoia per allineare gli uguali
  • 65. DocBlock • Permette di scrivere rapidamente documentazione PHP, Javascript
  • 66. Grunt • Mette a disposizione grunt senza passare da terminale
  • 67. Indent XML e Pretty JSON • Indentano i file XML e JSON per una più facile visualizzazione
  • 68. Sublime SFTP • Permette di connettersi ad un server tramite SFTP • File->SFTP/FTP->Setup Server • Permette di navigare su un server (una volta connessi) • File -> SFTP/FTP->Browse Server • Permette di mappare una cartella locale con una in remoto • Click destro sulla cartella da mappare
  • 69. Vim Mode • Il pacchetto è Vintageous per Sublime 3 • Mette a disposizione tutte le scorciatoie da tastiera per utilizzare sublime come se fossimo in Vim • Ma perché mai uno dovrebbe?
  • 70. AutoFileName • Permette, quando si sta digitando un percorso, di utilizzare un autocomplete sui nomi dei file e delle cartelle
  • 71. Sidebar enhancements • Aggiunge funzionalità molto utili al click destro su un file/cartella nella sidebar • Spostare nel cestino • Copia/Incolla • Aprire nel browser • Copiare il contenuto di un file come data:uri base64 • Duplicate • …
  • 72. Bracket Highlighter   • Un plugin avanzato per la visualizzazione del matching di parentesi
  • 73. xdebug • Permette di debuggare un progetto • Non funziona su singoli file • È un po’ troppo scomodo
  • 74. Sublime REPL • Trasforma la finestra di sublime in un terminale con attivo un determinato interprete • Esistono svariati interpreti • Python • Haskell • PHP • Ruby • CoffeeScript
  • 76. • Esistono pacchetti per quasi tutti i linguaggi di programmazione • Implementano l’autocomplete e l’evidenziazione del colore • jQuery • Wordpress • PHP • SASS • CSS 3 • …
  • 78. Sublime Linter • È un sistema di controllo del codice scritto in realtime • Il pacchetto principale è Sublime Linter, ma occorre aggiungere un pacchetto per ogni linter che si vuole utilizzare. • Ogni linter necessita dell’eseguibile nella propria macchina. • Es. se si fa lint di php occorre che sublime possa accedere a >> php -i • Se si fa lint di javascript bisogna aver scaricato con node.js jshint • Ecc.
  • 80. –Cav. Silvio Berlusconi “And I want to say another thing. I consider the American flag, not only a flag of a nation; but also a symbol of democracy and freedom”.