absolinux

Sujet : Echange de conf...
posté par Skippythekangoo 102 messages     le  19-11-2008  à  09:36citer
Salut, comme tout à chacun, j'essais de mefaire une conf au petit oignons (jeunes, frais et fondu dans du beurre, un vrai délice... :) ).

Donc, je propose, de faire un echange de scripts, conf d'appli utilisé par quasi-tous (pour ne pas provoquer le troll qui dort en chacun de nous), j'ai nommé weechat/irssi/..., bash/ksh/..., Vim/Emacs/d'autre??? et tout ce genre de truc.

Donc je vais commencer par mon .vimrc, et les plugin utiliser (dont mon premier code pour vim... :) )


" Apparement bien mieux comme ça ... :)
set nocompatible

" Fond de console sombre
"set background=dark

" Activations de la coloration syntaxique
syntax on
" Modification du modle de coloration syntaxique
"colorscheme darkblue
colorscheme default

" Fonction d'affichage d'un message en inverse vidéo
function! s:DisplayStatus(msg)
    echol Todo
    echo a:msg
    echol None
endfunction

" Variable d'enregistrement de l'état de la gestion de la souris
let s:mouseActivation = 1
" Fonction permetant l'activation/désactivation de la gestion de la souris
function! ToggleMouseActivation()
    if (s:mouseActivation)
        let s:mouseActivation = 0
        set mouse=n
        set paste
        call s:DisplayStatus('Désactivation de la gestion de la souris (mode collage)')
    else
        let s:mouseActvation = 1
        set mouse=a
        set nopaste
        call s:DisplayDtatus('Activation de la getion de la souris (mode normal)')
    endif
endfunction

" Activation par défaut au démarrage de la gestion de la souris
set mouse=a
set nopaste

" Personalisation de la ligne de status
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%y]\ [ASCCII=\%03.3b]\ [Line=%04l]\ [Col=%04v]\ [%p%%]
set laststatus=2

" Activation de l'auto-indentation
set autoindent
" Redéfinition des tabulations
set expandtab
set shiftwidth=4
set softtabstop=4
set tabstop=4

" Fonction de 'nettoyage' d'un fichier
"  - Remplacement des tabulations par des espaces
"  - Suppressin des caractères  en fin de ligne
function! CleanCode()
    %retab
    %s///g
    call s:DispalyStatus('Code néttoyé')
endfunction

"Déplacement de l'eonglet courant vers la droite ou vers la gauche
function! MoveTab(direction)
    if (a:direction == 'left')
        let tabNum = tabpagenr()-2
        if (tabNum < 0)
            let tabNum = 0
        endif
        execute 'tabm ' . tabNum
    else
        let tabNum = tabpagenr()
        execute 'tabm ' . tabNum
    endif
endfunction

" Ajout de la numérotatin des lignes
set number
highlight LineNr ctermbg=black ctermfg=gray

" Ajout d'une ligne colorée pour surligner la ligne en cour
set cursorline
highlight CursorLine term=reverse cterm=reverse

" Amélioration de la lisibilté des noms des onglets
highlight TabLine term=none cterm=none
highlight TabLineSel ctermbg=darkblue

" Définition du style des signets
sign define information text=>> linehl=Warning texthl=Error

" Variable d'enregistrement des identifiants de signets pour chaque buffer
let s:signMarks = {}
"Variable d'enregistrement des sauts sur les signets de chaque buffer
let s:jumpMarks = {}
" Fonction de marquage des signets
function! MarkSign()
    let filename = bufname(winbufnr(winnr()))
    if (has_key(s:signMarks, filename))
        let s:signMarks[filename] += 1
    else
        let s:signMarks[filename] = 1
    endif
    exe ':sign place ' . s:signMarks[filename] . ' line=' . line('.') . ' name=information file=' .expand('%:p')
endfunction

" Fonction de saut sur un signet
function! JumpToSign()
    let filename = bufname(winbufnr(winnr()))
    if (has_key(s:signMarks, filename))
        if (has_key(s:JumpMarks, filename))
            let s:jumpMarks[filename] += 1
        else
            let s:jumpMarks[filename] = 1
        endif
        if (s:jumpMarks[filename] > s:signMarks[filename])
            let s:jumpMarks[filename] = 1
        endif
        silent! execute ":sign jump ' . s:jumpMarks[filename] . ' file=' . expand('%:p')
    endif
endfunction

"Auto-completion multiple
function! MutilpleAutoCompletion()
    if &omnifunc != ''
        return "\<C-x>\<C-o)"
    elseif &dictionary != ''
        return "\<C-x>\<C-k>"
    else
        return "<C-x>\<C-n>""
    endif
endfunction

" Affichage textuele personalisé lors d'un pliage
function! MyFoldFunction()
    let line = getline(v:foldstart)
    let sub = substitute(line, '/\*|\*/\|^\s+', '', 'g')
    let lines = v:foldend - v:foldstart + 1
    return '[+] '. v:folddashes.sub . '...' . lines ' lignes...' . getline(v:foldend)
endfunction

" Activation de la gestion des ouvertures/fermetures des replis de code
set foldenable
" Affichage d'une ligne "=" sur les pliages
set fillchars=fold:=
" Définition personelle de l'affichage du pliage
set foldtext=MyFoldFunction()

" Active la touche Backspace
set backspace=2

" Active vimmp (client mpd et xmms2)
if has('python')
            py import os, sys
            py sys.path.append(os.path.expanduser("~/.vim/vimmp"))
            pyf ~/.vim/vimmp/main.py
        endif
let g:vimmp_server_type="mpd"
"nmap <silent> <leader>x :py vimmp_toggle()<cr>
nmap <silent> <F6> :py vimmp_toggle()<cr>
let g:mpd_music_directory="~/musiques"
let g:mpd_playlist_directory="~/.mpd/playlists"

" Définition des variables global"
let $MyName = "Skippy the kangoo"
let $MyMail = "Skippythekangoo CHEZ yahoo POINT fr"
let $ThisFile = expand("%:t")

" Ouvre .vimrc dans un nouvel onglet
map <silent> <F2> :tabnew ~/.vimrc <CR>

" Ouvre .bashrc dans un nouvel onglet
map <silent> <F3> :tabnew ~/.bashrc <CR>

" Ajoute/enleve les commentaires (necessite NEERDComments)
map <F4> ,c<space> <CR>

" Ouvre le navigateur de fichier NERDTree
map <silent> <F5> :NERDTree <CR>

" Navigue j'usqu'a l'onglet precedent
map <silent> <F7> :tabprevious <CR>
map <silent> <s-tab> :tabprevious <CR>

" Navigue jusqu'au prochain onglet
map <silent> <F8> :tabnext <CR>
map <silent> <tab> :tabnext <CR>
" Ouvre un onglet vierge
map <F9> :tabnew

" Active la numérotation des lignes
map <silent> <F11> :set nonumber <CR>
map <silent> <F12> :set number <CR>

" Desactive le Hightlight de la recherche
map <silent> <F10> :set nohlsearch <CR>



les plugins utilisés sont NERD_tree (un navigateur de fichier, NERD_commenter (gestionnaire de commentaire), autoclose (ferme les parentheses, crochet et autres, à leur ouverture), autocomplpop (affiche un popup avec les completions proposées, et le mien (ne pas se moque, hein...)
STK_autoheader (permet d'avoir une entete spécifique pour chaque nouveau fichier suivant l'extention) que voici

"""
" Codé avec les pieds par Skippy the kangoo
" <Skippythekangoo CHEZ yahoo POINT fr>
"""""

"""
" PRESENTATION DU SCRIPT : STK_autoheader.vim
"
" Objectif : Insere une entete aux nouveau fichier suivant leur extention
" en utilisant le shell et l'utilisateur courant
"
" Version 0.0.1
"""""

function Entete()
let @a = $MyName
let @b = $MyMail
normal i###
normal o# Codé avec les pieds par
normal "ap
normal o# <
normal "bp
normal A>
normal o#####
"normal 2o
endfunction

function Description_Entete()
let file_name = expand("%:t")
let @a = file_name
normal i###
normal o# PRESENTATION DU SCRIPT :
normal "ap
normal o#
normal o# Objectif : 
normal o#####
endfunction

function Bash_Entete()
let @a = $SHELL
normal i#!
normal "ap
normal 2o
call Entete()
normal 2o
call Description_Entete()
normal kA
endfunction

function Python_Entete()
let @a = "/usr/bin/python"
normal i#!
normal "ap
normal 2o
call Entete()
normal 2o
call Description_Entete()
normal kA
endfunction

function Vim_Entete()
call Entete()
normal 2o
call Description_Entete()
1,10s/#/"/g
normal kA
endfunction

autocmd BufNewFile *.sh  call Bash_Entete()
autocmd BufNewFile *.py  call Python_Entete()
autocmd BufNewFile *.vim call Vim_Entete()



les codes des plugins se trouve sur http://vim.org

C'est un peu le bordel dans mon code...

et la prochaine fois, je poserais mes conf sur un ftp, ce sera plus simple...

P.S. TrueDD, il y a moyen d'avoir un espace pour ce genre d'idée pour tout regrouper ???
_______________________

º¿º Skippy the Kangoo º¿º




répondre

http://med4treat.top