J’avais oublié, voici le miens :
[code]""""""""""""""""""""""
" Options classiques “
”"""""""""""""""""""""
syntax on " active la coloration syntaxique
filetype on " détecte automatiquement le type de fichier
set nocompatible " désactive la compatibilité vi (vi lance vim)
set encoding=utf-8 " encode par défaut les fichier en utf-8
set fileencoding=utf8 " encode par défaut les fichier en utf-8
set tabstop=4 " taille de la tabulation en espace
set expandtab " remplace les tabulations par des espaces
set nohls " désactive le surlignement
set ruler
set cindent " active l’indentation des sources C
set shiftwidth=4 " nombre d’espaces pour une tabulation
set wrapscan " recherche en rond
set backspace=2 " autorise le backspace
set hlsearch " pour activer la surbrillance
set mouse=a " active l’utilisation de la sourie
set incsearch " exécute la recherche en même temps que l’on la tape
set showmatch " affichage des parenthèses
set dir=~/.tmp " répertoire des fichiers temporaires
set suffixes=.bak,.~,.swp " priorité faibles sur ces fichiers
set nobackup " ne pas conserver de backup
set title " modifier le titre du terminal
set ff=unix " suppression des ^M
set autoindent " indentation automatique avancée
set smartindent " indentation plus intelligente
set backspace=indent,eol,start " autorisation du retour arrière
set path=.,/usr/include,…/include,…/src,include,src,
" répertoire où l’auto-complètement va chercher les fonction et les noms de variables
set wildignore=.o,.tbz,.run,.tar,.exe,.png,.jpg,.tbz,.tgz,.bzip,*.gzip " fichiers ignorés
set number
highlight LineNr ctermbg=black ctermfg=gray
highlight TabLine term=none cterm=none
highlight TabLineSel ctermbg=darkblue
"set cursorline
"highlight CursorLine term=reverse cterm=reverse
"set fdm=indent
“”"""""""""""
" Fonctions “
”""""""""""""
function! s:DisplayStatus(msg)
echohl Todo
echo a:msg
echohl None
endfunction
“” Curseur à l’ancienne position
function! s:CursorOldPosition()
if line("’"") > 0 && line("’"") <= line("$")
exec “normal g`”"
endif
endfunction
autocmd BufReadPost * silent! call s:CursorOldPosition()
function! LoadTemplate(name, extension)
echohl Todo
echo a:name
echohl None
let bou = expand(’%:e’)
silent! execute '0r ’ . $HOME . ‘/.vim/template/’ . bou . '.tpl’
silent! execute 'source ’ . $HOME . '/.vim/template/autocompletion.vim’
endfunction
function! Make()
if()
execute 'make’
else
execute 'make %:r’
endif
endfunction
augroup filetypedetect
au BufNewFile,BufRead *.tex setlocal spell spelllang=fr
au BufNewFile,BufRead *.txt setlocal spell spelllang=fr
augroup END
“”""""""""""""""""""""
" Raccourcis clavier “
”"""""""""""""""""""""
map C Da
noremap :set paste!:set paste?
noremap :set nu!:set nu?
noremap :set expandtab!:set expandtab?
noremap :set expandtab!:set expandtab?
noremap :set spell!:set spell?
noremap :set hlsearch!:set hlsearch?
noremap :NERDTreeToggle
“” Raccourcis à la firefox
map :tabnew
map :tabnext
map :tabprevious
map :tabclose
map :e
map :cprevious
map :cnext
map :!gcc % && ./a.out ; rm a.out
" plis/déplies du code
nnoremap za
" déplies tout
nnoremap zm
" plis tout
nnoremap zr
“”""""""""""""""""""""""
" Gestion des langages “
”"""""""""""""""""""""""
au BufEnter [Mm]akefile set noexpandtab
au BufNewFile [Mm]akefile set noexpandtab
au BufNewFile [Mm]akefile silent! execute '0r ’ . $HOME . ‘/.vim/template/makefile.tpl’
au BufNewFile * silent! call LoadTemplate(’%:t’, ‘%:e’)
au BufEnter *.h set syntax=cpp.doxygen
au BufNewFile *.sh :!chmod +x ‘%’
" pour perl
au FileType perl set commentstring="%s"
au FileType perl set foldmarker=#\ {{{,#\ }}}[/code]
Ensuite mon fichier ~/.vim/template/autocompletion.vim :
[code]:%s/<+DATE+>/=strftime("%A %d %B %Y")/ge
:%s/<+FILE+>/=expand(’%:t’)/ge
let macro = substitute(expand(’%:t’), ‘.’, ‘_’, ‘g’)
let macro = ‘’ . toupper(macro) . '’
:%s/<+MACRO+>/=expand(macro)/ge
“let nom = system(“awk -F: ‘/’”$USER”’/ { print $5 }’ /etc/passwd | awk -F, ‘{ print $1 }’")
"let nom = system(“grep $USER /etc/passwd | awk -F: ‘{ print $5 }’ | awk -F, ‘{ print $1 }’”)
let nom = system(“grep $USER /etc/passwd”)
"let nom = system(“echo $USER”)
:%s/<+AUTEUR+>/=nom\b/ge
3match Todo /<+.++>/[/code]
Et ensuite un exemple de fichier template avec mon tex.tpl :
[code]\documentclass[a4paper,11pt]{article}
% Packages utilisés
\usepackage{color}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage[french]{babel}
\pagestyle{headings}
\geometry{
hmargin=2.5cm,
vmargin=1.5cm
}
\hypersetup{
hyperindex=false,
pdftitle={<+TITLE+>},
pdfauthor={<+AUTEUR+>},
pdfsubject={<+SUJET+>}
}
\title{<+TITLE+>}
\author{<+AUTEUR+>}
% textbf : gras
% textit : italique
% underline : souligné
% Début du document
\begin{document}
\maketitle
\tableofcontents
\end{document}[/code]
La fonction Make n’est pas terminée il faudra que je m’en occupe. Et les raccourcis claviers à la firefox ne marche pas avec urxvt et tabbed.