GNU/Linux

J'utilise quotidiennement une Debian Wheezy pour sa fiabilité. J'ai utilisé Gnome 3 qui est excellent pendant quelques temps. Cette interface est vraiment belle. J'utilise actuellement i3wm qui est inspiré des Vim. Elle n'est pas du tout user-friendly, mais vraiment efficace (cf. ma configuration) !

====================================================
== zsh                                            ==
====================================================
.zshrc
------
alias ll="ls -h -l --color=auto"
alias ls="ls -h --color=auto"
RPS1="%*"
PS1="$fg[yellow]%~%#$reset_color "
J'utilise zsh pour son autocomplétion remarquable. Je rajoute des super-pouvoirs avec oh-my-zsh.
====================================================
== Git                                            ==
====================================================
git log --oneline --decorate --all --graph 
--simplify-by-decoration

====================================================
== Vim                                            ==
====================================================
Plugins
---------

http://kien.github.io/ctrlp.vim/ : ctrl+p permet de recherche un fichier et de l'ouvrir par son nom

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 :
---------
filetype plugin on
filetype indent on

colorscheme desert

filetype on             " enable file type detection
syntax on              " syntax highlighting

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

au BufNewFile,BufRead *.c,*.cc,*.cpp,*.h    set shiftwidth=8
au BufNewFile,BufRead *.c,*.cc,*.cpp,*.h    set cindent
au BufNewFile,BufRead *.c,*.cc,*.cpp,*.h    set softtabstop=8
au BufNewFile,BufRead *.c,*.cc,*.cpp,*.h    set tabstop=8

au BufNewFile,BufRead *.ada,*.adb           set shiftwidth=4
au BufNewFile,BufRead *.ada,*.adb           set cindent
au BufNewFile,BufRead *.ada,*.adb           set softtabstop=4
au BufNewFile,BufRead *.ada,*.adb           set tabstop=4

set expandtab                                "Use spaces 
instead of tabs
" :retab permet de remettre les tabulations du fichier 
suivant la
" configuration de vim

set scrolloff=3                                " 3 lignes au 
minimum avant et après le curseur
set wildignore=*.o,*.obj,*~          "ignore certains 
fichiers pour l'autocompletion
set nohls                                        " ne pas 
mettre en surbrillance les résultats de la recherche
set laststatus=2                            " Affiche le nom 
du fichier en permanence

setlocal spell spelllang=fr
"set spell
set nospell
set ic
" z= afficher les possibilités
" zg ajouter le mot au dictionnaire
" zug enlever le mot du dictionnaire
" zw reverse

map <C-j> jzz
map <C-k> kzz

map <F4> :cl<CR>
map <F3> :cn<CR>
map <F2> :cprev<CR>

iabbrev </ </<C-X><C-O>  "Auto closing an HTML tag

set runtimepath^=~/.vim/bundle/ctrlp.vim "http://kien.github.io/ctrlp.vim/
Toujours ouvert dans un coin de mon écran, je trouve Vim puissant et léger. Je l'utilise relativement "par défaut" pour ne pas être perturbé sur d'autre configurations.

====================================================
== 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 et :tag fonction pour aller à une 
déclaration précise.
tidy : indenter un code HTML, le reformater

Gnome (pour mémoire)
-------
tilda : Un terminal "quake-like". Il s'affiche lorsque 
j’appuie sur "2"

====================================================
== 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/

====================================================
== Redshift                                            ==
====================================================
(Grenoble)
redshift -l 45.187778:5.726945 -t 5700:3600 -g 0.8 -m vidmode -v
On peut aussi utiliser xgamma pour réduire le bleu
xgamma -bgamma 0.900
====================================================
== Dual-screen X11(carte Nvidia)
====================================================

Dans  : /etc/X11/xorg.conf

Dans la section "Screen" ajouter.

Option          "TwinView"
Option          "SecondMonitorHorizSync" "30-70"
Option          "SecondMonitorVertRefresh" "50-140"
Option          "TwinViewOrientation" "LeftOf"

Source : http://www.guim.info/dokuwiki/debian/dual_screen