GNU/Linux


====================================================

== Git                                            ==

====================================================

git log --oneline --decorate --all --graph 

--simplify-by-decoration



====================================================

== Vim                                            ==

====================================================



Utilisation

-----------

Ctrl-p : autocompletion

Ctrl-a : incrémente le nombre

Ctrl-a : sélection par bloc (sélection par colonnes != 

lignes)

dat : supprimer un tag XML

dit : supprime le contenu d'un tag XML

:make, :cn, :cl : Makefile

zt : place la ligne courant en haut de l'écran (très très 

utile avec zz).

En mode commande ou insertion : Ctrl-r, a : colle le contenu du registre a, Ctrl-r, = : mode calculatrice/script

En mode insertion : Ctrl-x, Ctrl-f : auto-completion des noms de fichiers.

Insérer le résultat d'une commande :r! ls



vimdiff:

---------

do - Get the version of the other file.

Between two files already opened:    :diffthis



.vimrc :

---------



" install ctrl+p



set guifont=Consolas:h11:cANSI



syn on

filetype indent on



set nocompatible

set backspace=indent,eol,start



colorscheme default

highlight Normal guibg=#f0f0f0

set background=light



filetype on             " enable file type detection

syntax on              " syntax highlighting



set ruler

set smartindent  " smart code indentation

set smarttab        " smart tabs

set ignorecase   " ignore la casse

set smartcase    " ignore la casse sauf si une majuscule est entrée

set laststatus=2 " Affiche le nom du fichier en permanence

set ic

set autowrite



set shiftwidth=4

set softtabstop=4

set tabstop=4

set cindent

set expandtab



set hls



set wildignore=*.o,*.obj,*~,*.pyc,*.aux,*.log

au BufNewFile,BufRead *.json   syn off



map j gj

map k gk

map <f4> :cl<cr>

map <f3> :cn<cr>

map <f2> :cprev<cr>

map <f9> :tabprev<cr>

map <f10> :tabnext<cr>

map <f11> :tabnew<cr>



map Q <ESC>



"Netrw config

let g:netrw_liststyle = 3



if has('gui_running')

    set guioptions=im

else

    set background=dark

end



" Use ~x on an English Windows version or ~n for French.

au GUIEnter * simalt ~n



" Run git grep with :grep

set grepprg=git\ grep\ -n




====================================================

== Apache2                                            ==

====================================================

Per-user directory with PHP

apt-get install apache2 php5 libapache2-mod-php5

a2enmod userdir



Dans /etc/apache2/mods-available/php5.conf

Commenter la ligne : php_admin_value engine Off

Dans /etc/apache2/mods-enabled/userdir.conf

et modifier la ligne AllowOverride pour autoriser les .htaccess (AllowOverride all)



====================================================

== Utilitaires                                    ==

====================================================

du -sh dossier : taille d'un dossier

du -hscL  *

/etc/rc.local : exécuter des scripts au démarrage

Réparer NTFS (The Disk contains an unclean file system) : ntfsfix (package ntfsprogs)



Programmation :

---------------

ack-grep : rechercher du code dans un répertoire de 

manière récursive (j'ai créé un alias : alias 

ack=ack-grep)

ctags : Crée un annuaire des déclarations avec la commande 

ctags -R *.

        Sous Vim : Ctrl+] pour aller à la 

déclaration du mot sous le curseur

(sous Windows avec un clavier azerty,

il faut écrire Ctrl+$

et :tag fonction pour aller à une déclaration

précise.

tidy : indenter un code HTML, le reformater



====================================================

== ctags : ajouter le langage Ada

====================================================

Dans le ~/.ctags ajouter :

--langdef=ada

--langmap=ada:.adb

--regex-ada=/(procedure|function)[ 

\t]*([a-zA-Z0-9_]+)/\2/d,definition/



Nb. on analyse uniquement les .adb, car les .ads ne 

contiennent (en principe) que les déclarations.



====================================================

== GNU Screen

====================================================

Ctrl+A,  | : Spliter la console verticalement

Ctrl+A,  S : Spliter la console horizontalement

Ctrl+A,  TAB : se déplacer entre les régions splités

Ctrl+A, Q : Garde seulement la région courante (split)

Ctrl+A, c : crée une console

Ctrl+A, K : supprime la console courante

Ctrl+A, p et Ctrl+A, n : previous ou next console



Copier coller dans le terminal :

Ctrl+A, Échappe

Déplacement avec h, j, k, l

Sélection d'un texte avec Espace, bouger, Espace

On ressort du mode copie, pour coller, il faut Ctrl+A, ]



Ctrl+A, d : détacher une session

screen -r : relancer screen sur une session en cours (attacher)





nohup

wget -c



====================================================

== Imprimer en livret sous linux   ==

====================================================

pdftops -paper A4 fichierPDF.pdf - | psbook | psnup -2 -q > mon-fichier.ps

Imprimer en recto-verso bords longs

(source: https://www.debian-fr.org/methode-pour-imprimer-un-livre-a-relier-t43124.html)



====================================================

== Eclipse                                            ==

====================================================



Pour utiliser les raccourcis de Vim sous Eclipse : Vrapper : http://vrapper.sourceforge.net/home/



====================================================

== Firefox

====================================================

A activer dans about:config : resistFingerprinting