vim : configuration

Je partage mon fichier de configuration de vim, si vous avez des suggestions, n’hésitez pas :

set nocompatible
set nocompatible
filetype plugin on
syntax enable

set ignorecase
set paste
set ruler
set modeline

set showcmd

set nowrap
set textwidth=0
set wrapmargin=0
let g:leave_my_textwidth_alone=1

set expandtab
set autoindent
set smartindent
set softtabstop=4
set tabstop=4

" Dans un fichier php, lorsqu'on tape {<CR> alors
" il fait l'indentation automatique
set shiftwidth=4

set number
colorscheme desert
colorscheme torte
colorscheme zellner

set vb t_vb=

set backup
set backupdir=~/.vim/backup
set directory=~/.vim/tmp
set fileencodings=utf-8,ucs-bom,default,latin1
set scrolloff=5
set scrolloff=15
set undolevels=1000
nmap ;bw :. w! ~/.vimxfer<CR>
nmap ;br :r ~/.vimxfer<CR>
nmap ;ba :. w! >>~/.vimxfer<CR>

" Pour la macro gset, après j'utilise F3 :
" ça sert à transformer les trucs du genre :
" - @return string le nom ajouté ...
" par :
" - @return string Nom ajouté ...
map <F3> ^3w/ [a-zA-Z]<CR><RIGHT>v/\( \\|'\)<CR>xvU
" Macro qui réindente le bloc courant d'une seule tab à droite :
map <F4> Vi{9<lt>Vi{>

" Tell vim to remember certain things when we exit
"  '10 : marks will be remembered for up to 10 previously edited files
"  "100 : will save up to 100 lines for each register
"  :20 : up to 20 lines of command-line history will be remembered
"  % : saves and restores the buffer list
"  n... : where to save the viminfo files
set viminfo='10,\"100,:20,%,n~/.viminfo

" when we reload, tell vim to restore the cursor to the saved position
augroup JumpCursorOnEdit
 au!
 autocmd BufReadPost *
 \ if expand("<afile>:p:h") !=? $TEMP |
 \ if line("'\"") > 1 && line("'\"") <= line("$") |
 \ let JumpCursorOnEdit_foo = line("'\"") |
 \ let b:doopenfold = 1 |
 \ if (foldlevel(JumpCursorOnEdit_foo) > foldlevel(JumpCursorOnEdit_foo - 1)) |
 \ let JumpCursorOnEdit_foo = JumpCursorOnEdit_foo - 1 |
 \ let b:doopenfold = 2 |
 \ endif |
 \ exe JumpCursorOnEdit_foo |
 \ endif |
 \ endif
 " Need to postpone using "zv" until after reading the modelines.
 autocmd BufWinEnter *
 \ if exists("b:doopenfold") |
 \ exe "normal zv" |
 \ if(b:doopenfold > 1) |
 \ exe "+".1 |
 \ endif |
 \ unlet b:doopenfold |
 \ endif
augroup END

set backspace=2

inoremap <silent> <Bar>   <Bar><Esc>:call <SID>align()<CR>a

function! s:align()
  let p = '^\s*|\s.*\s|\s*$'
  if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
    let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g'))
    let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*'))
    Tabularize/|/l1
    normal! 0
    call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
  endif
endfunction

autocmd BufNewFile  * silent! 0r ~/.vim/templates/%:e.tpl
autocmd BufNewFile  *.php call search('w', '', line("w$"))
autocmd BufNewFile,BufRead *.vhost.conf set filetype=apache
autocmd BufNewFile,BufRead *.json set filetype=yaml

let g:snips_author='Olivier Pons'
let g:snips_author_email='olivier.pons@gmail.com'

" ----------------------------------------
" Smarty syntax highlighter / Rappel il est dans ~/.vim/syntax
" Pris ici http://www.vim.org/scripts/script.php?script_id=1798 :
autocmd BufRead,BufNewFile *.tpl set filetype=smarty

" ----------------------------------------
" Truc de Stackoverflow : si ouverture d'un fichier htm(l) alors
" verifier s'il y a {* *} ou {(alphanum) $xx (alphanum)}
" et si c'est le cas appliquer la syntaxe Smarty (au dessus)
autocmd BufNewFile,BufRead *.htm call s:CheckForSmarty()
autocmd BufNewFile,BufRead *.html call s:CheckForSmarty()

function! s:CheckForSmarty()
  for n in range(1, line('$'))
    "if n > 100
    "  return
    "endif

    let line = getline(n)
    if line =~ '{.*$\k\+}' || line =~ '{\*.*\*}'
      set filetype=smarty
      return
    endif
  endfor
endfunction

" (!) Ultra important sinon *tous* les mappings sont désactivés :
set nopaste

" Code will highlight trailing whitespace in red:
highlight WhitespaceEOL ctermbg=red guibg=red
match WhitespaceEOL /\s\+$/

"highlight OverLength ctermbg=red ctermfg=white guibg=#592929
"match OverLength /\%>80v.\+/
set textwidth=80
set colorcolumn=+1
highlight ColorColumn ctermbg=8
highlight Folded term=standout ctermfg=216 guifg=1 guibg=2 ctermbg=8

" Raccourci : F7 = ouvrir le fichier sous le curseur, F8 = ouvrir en vsplit :
:nnoremap <F8> :vertical wincmd f<CR>
:nnoremap <F7> :wincmd f<CR>

Ubuntu 64 bits et Brother 5380DN installation howto

sudo apt-get install ia32-libs
sudo dpkg -i --force-all hl5380dnlpr-2.0.3-1.i386.deb
sudo dpkg -i --force-all cupswrapperHL5380DN-2.0.4-1.i386.deb

olivier@olivier-desktop ~/Bureau # dpkg  -l  |  grep  Brother
ii  cupswrapperhl5380dn  2.0.4-1    Brother HL5380DN CUPS wrapper driver
ii  hl5380dnlpr          2.0.3-1    Brother HL-5380DN LPR driver

Aller ici:

http://localhost:631/printers

Cliquer sur « Modify Printer » and set following parameters.

- "LPD/LPR Host or Printer" or "AppSocket/HP JetDirect" for Device
- lpd://(Your printer's IP address)/binary_p1 for Device URI
- Brother for Make/Manufacturer Selection
- Your printer's name for Model/Driver Selection

Dans mon cas :

Description : HL5380DN
Emplacement : 192.168.1.138
URI du périphérique : lpd://192.168.1.138/binary_p1

League Of Legends : un pour tous mode miroir.

Après m’être fait mute pendant les 28 matches à venir parce que j’ai répété un peu trop souvent des paroles de «Knife Party – Internet Friends» (véridique, je vous laisse voir et je vous dirais ce que j’ai dit si vous laissez un message)…

J’ai enfin la preuve que je maîtrise Lux, en comparaison directe avec neuf autre personnes qui avaient… aussi Lux…

League of Legends - Lux 24 4 38

😉

cygwin : problème des espaces avec updatedb : la solution via mount

J’ai eu l’information ici : http://cygwin.com/cygwin-ug-net/using-utils.html#mount

Faire un mount permanent :
Editer le fichier /etc/fstab

Y ajouter le lien vers le répertoire qui a des espaces :
"C:/mon projet/mon sous projet" /monprojetmonsousprojet ntfs binary,posix=0,user,noumount,auto

Lancer un nouveau shell pour que le "mount" soit fait automatiquement

Best of de sites Web

Voici une petite compilation de sites que j’ai apprécié, il y a plus ou moins longtemps :

Voici ce qu’on peut faire quand on commence à maitriser WordPress :
http://www.studio-output.com/

Utiliser à la main uglifyjs :
http://marijnhaverbeke.nl/uglifyjs

Aldous Huxley : le meilleur des mondes

Extrait du Meilleur des mondes d’Aldous Huxley (1932)

Pour étouffer par avance toute révolte, il ne faut pas s’y prendre de manière violente. Il suffit de créer un conditionnement collectif si puissant que l’idée même de révolte ne viendra même plus à l’esprit des hommes. L’idéal serait de formater les individus dès la naissance en limitant leurs aptitudes biologiques innées.
Ensuite, on poursuivrait le conditionnement en réduisant de manière drastique l’éducation, pour la ramener à une forme d’insertion professionnelle. Un individu inculte n’a qu’un horizon de pensée limité et plus sa pensée est bornée à des préoccupations médiocres, moins il peut se révolter. Il faut faire en sorte que l’accès au savoir devienne de plus en plus difficile et élitiste. Que le fossé se creuse entre le peuple et la science, que l’information destinée au grand public soit anesthésiée de tout contenu à caractère subversif. Surtout pas de philosophie. Là encore, il faut user de persuasion et non de violence directe : on diffusera massivement, par la télévision, des divertissements flattant toujours l’émotionnel ou l’instinctif. On occupera les esprits avec ce qui est futile et ludique. Il est bon, dans un bavardage et une musique incessante, d’empêcher l’esprit de penser.
On mettra la sexualité au premier rang des intérêts humains. Comme tranquillisant social, il n’y a rien de mieux. En général, on fera en sorte de bannir le sérieux de l’existence, de tourner en dérision tout ce qui a une valeur élevée, d’entretenir une constante apologie de la légèreté ; de sorte que l’euphorie de la publicité devienne le standard du bonheur humain et le modèle de la liberté.
Le conditionnement produira ainsi de lui-même une telle intégration, que la seule peur – qu’il faudra entretenir – sera celle d’être exclus du système et donc de ne plus pouvoir accéder aux conditions nécessaires au bonheur. L’homme de masse, ainsi produit, doit être traité comme ce qu’il est : un veau, et il doit être surveillé comme doit l’être un troupeau. Tout ce qui permet d’endormir sa lucidité est bon socialement, ce qui menacerait de l’éveiller doit être ridiculisé, étouffé, combattu.
Toute doctrine mettant en cause le système doit d’abord être désignée comme subversive et terroriste et ceux qui la soutienne devront ensuite être traités comme tels. On observe cependant, qu’il est très facile de corrompre un individu subversif : il suffit de lui proposer de l’argent et du pouvoir.