Ivsb2
De Vim-fr.
Version du 11 novembre 2009 à 13:58 par Niniryoku (discuter | contributions)
"""""""""""""""""""""""""""""""" " Début de la personnalisation " " " " http://ivsb2.free.fr " """""""""""""""""""""""""""""""" " Coloration syntaxique syntax on " Résulats de recherche non-colorés set nohls " Souris utilisable set mouse=a " Recherche insensible à la casse set ignorecase " Pour faire cesser ces bips ridicules. set vb " Délai raccourcis-clavier set tm=500 " Indentation automatique set autoindent " Sauvegarde rapide du fichier actuel map <F2> :w<CR> imap <F2> <ESC>:w<CR> " Terminal map <S-F2> :!xterm &<CR><CR> imap <S-F2> <ESC>:!xterm &<CR><CR> " Gestionnaire de fichiers graphique " map <F2>t :!thunar & <CR><CR> " map <F2>t <ESC>:!thunar &<CR><CR> " Formatage rapide du paragraphe courant ou de la selection " souris ou visuelle map <F6> gq} imap <F6> <ESC>gq}a vmap <F6> gq " Mode collage, activation/désactivation set pastetoggle=<F11> " Formatage sur une ligne seulement map <S-F6> gqj imap <S-F6> <ESC>gqj " Insertion d'un modèle Makefile au début du fichier map ,mk :0r ~/.latex/Makefile-latex<CR> " Fonctions pour fichiers LaTeX au BufEnter,BufNewFile *.tex exe Flatex() " Eviter de colorer pour le plaintex au BufEnter,BufNewFile *.tex setfiletype tex " Autre astuce possible, plus propre car dans la doc de Vim " let g:tex_flavor = "latex" " Fonctions pour fichiers XML au BufEnter *.xml exe Fxml() " Fonctions pour fichiers SPIP au BufEnter *.spip exe Fspip() " Fonctions pour fichiers HTML au BufEnter *.html exe Fhtml() au BufEnter *.htm exe Fhtml() " Fonctions pour Javascript au BufEnter *.js exe Fjs() " Fonctions pour fichiers CSS au BufEnter *.php exe Fhtml() " TXT en 72 de large " Prévoir fonction... au BufEnter,BufNewFile *.txt set tw=72 function! Flatex() " Codages des caractères ISO-8859-1 set fileencoding=iso-8859-1 " Types de fichiers à ignorer set wildignore=*.dvi,*.ps,*.toc,*.log,*.pdf,*.aux " Dossier du fichier comme dossier de travail de gVim " Je ne le fais pas avec Vim mode texte. " Et je ne sais pas vraiment pourquoi... if has("gui_running") set acd endif " Pour gVim < 7.0 "if has("gui_running") " au BufEnter * :lcd %:h "map ,cwd :cd %:h " 4 espaces me suffisent en LaTeX pour les tabulations ou indentations set ts=4 set sw=4 " Largeur de texte standard set tw=72 " Modèles map ,mod :0r ~/.latex/modele.tex<CR> map ,ex :0r ~/.latex/ex.tex<CR> map ,pre :0r ~/.latex/presentation.tex<CR> " Lancement Xfig map <F3> :!LANG=fr_FR.iso-8859-1 xfig &<CR><CR> imap <F3> <ESC>:!LANG=fr_FR.iso-8859-1 xfig &<CR><CR> " Lancement Inkscape map <F3>i :!inkscape &<CR><CR> imap <F3>i <ESC>:!inkscape &<CR><CR> " Sauvegarde et compilation PDFLaTeX (-> PDF) map <F4> <ESC>:w<CR>:!pdflatex %<.tex<CR><CR> imap <F4> <ESC>:w<CR>:!pdflatex %<.tex<CR>a " Sauvegarde et compilation LaTeX (-> DVI) set <S-F4>=�[1;2S map <S-F4> <ESC>:w<CR>:!latex %<.tex<CR><CR> imap <S-F4> <ESC>:w<CR>:!latex %<.tex<CR>a " Visualisation PDF map <F5> :!xpdf %<.pdf &<CR> imap <F5> <ESC>:!xpdf %<.pdf &<CR> " Visualisaton DVI map <S-F5> :!xdvi %<.dvi &<CR><CR> imap <S-F5> <ESC>:!xdvi %<.dvi &<CR><CR>a " Conversion vers Postscript map <F7> :!dvips %<.dvi -o %<.ps <CR><CR> imap <F7> <ESC>:!dvips %<.dvi -o %<.ps <CR> " Visualisation Postscript map <F8> :!gv %<.ps &<CR><CR> imap <F8> <ESC>:!gv %<.ps &<CR><CR> " Réduction A4 vers double-A5 map <S-F7> :!psnup -2 %<.ps %<-miformat.ps<CR> " Visualisation double-A5 map <S-F8> :!gv %<-miformat.ps &<CR><CR> " Impression demi PDF map <F9> :!lpr -o number-up=2 %<.pdf " Make PDF map <F10> :!make pdf<CR> imap <F10> <ESC>:!make pdf<CR> " Nettoyage des fichiers map ,cln :!rm -f %<.aux %<.dvi %<.log %<.out %<.ps %<.toc %<-miformat.ps <CR> imap ,cln :!rm %<.aux %<.dvi %<.log %<.out %<.ps %<.toc %<-miformat.ps <CR> " TeX, LaTeX imap ,tex \TeX{} imap ,la \LaTeX{} " Euro imap ,eu \euro{} " Insertion fraction imap ,fr \dfrac{}{}<ESC>2hi imap ,tfr \tfrac{}{}<ESC>2hi " Taille math standard imap ,dst \displaystyle{}<ESC>i vmap ,dst s\displaystyle{<ESC>pa} " Insertion d'une figure imap ,igr \includegraphics{}<ESC>i vmap ,igr s\includegraphics{<ESC>pa} imap ,ppr \parpic[r]{\includegraphics{}}<ESC>hi imap ,ppl \parpic[l]{\includegraphics{}}<ESC>hi vmap ,ppr s\parpic[r]{\includegraphics{<ESC>pa}} vmap ,ppl s\parpic[l]{\includegraphics{<ESC>pa}} imap ,fig \begin{figure}<CR>\end{figure}<ESC>O vmap ,fig S\begin{figure}<CR>\end{figure}<ESC>P imap ,wf \begin{wrapfigure}{}{}<CR>\end{wrapfigure}<ESC>O\includegraphics{}<ESC>i """""vmap ,wf S\begin{wrapfigure}{}{}<CR>\end{wrapfigure}<ESC>\includegraphics{}P " Table des matières imap ,toc \tableofcontents " (Sous-(sous-)Section numérotée imap ,s \section{}<ESC>i imap ,ss \subsection{}<ESC>i imap ,sss \subsubsection{}<ESC>i vmap ,s s\section{<ESC>pa} vmap ,ss s\subsection{<ESC>pa} vmap ,sss s\subsubsection{<ESC>pa} " (Sous-)Section non-numérotée imap ,s* \section*{}<ESC>i imap ,ss* \subsection*{}<ESC>i imap ,sss* \subsubsection*{}<ESC>i vmap ,s* s\section*{<ESC>pa} vmap ,ss* s\subsection*{<ESC>pa} vmap ,sss* s\subsubsection*{<ESC>pa} " Présentations LaTeX-Beamer imap ,un \uncover<><ESC>i imap ,on \only<><ESC>i imap ,fm \begin{frame}<CR>\end{frame}<ESC>O imap ,ft \frametitle{}<ESC>i imap ,al \alert{}<ESC>i " Marques de modifications imap ,chb \begin{changebar}<CR>\end{changebar}<ESC>O vmap ,chb S\begin{changebar}<CR>\end{changebar}<ESC>P " Environnement quelconque imap ,env \begin{ENV}<CR>\end{ENV}<ESC>O vmap ,env S\begin{ENV}<CR>\end{ENV}<ESC>P " Retour ou saut de ligne imap ,cr \\ <CR> " Retour à la ligne justifié imap ,lb \linebreak " Retour à la ligne simple imap ,nl \newline " Saut de page imap ,pb \pagebreak " Changement de colonne imap ,cb \columnbreak " Gros saut de ligne imap ,bs <CR>\bigskip<CR> " Ligatures imap ,oe \oe{} " Mode maths en ligne imap ,$ $$<ESC>i vmap ,$ s$<ESC>pa$ " Mode maths centré imap ,$$ \[<CR>\]<ESC>O vmap ,$$ S\[<CR>\]<ESC>P " Texte normal en mode maths imap ,rm \textrm{}<ESC>i " Racine carrée imap ,rc \sqrt{}<ESC>i vmap ,rc s\sqrt{<ESC>pa} " Pi imap ,pi \pi imap ,Pi \Pi " Angles et trigo imap ,wh \widehat{}<ESC>i imap _c \cos imap _s \sin imap _t \tan " Flèche fonction imap ,lm \longmapsto<ESC>a " Signe multiplié imap ,* \times " Signé divisé imap ,/ \div " Centrage imap ,c \begin{center}<CR>\end{center}<ESC>O vmap ,c S\begin{center}<CR>\end{center}<ESC>P " Frame imap ,frm \frame<CR>}<ESC>O vmap ,frm S\frame{<CR>}<ESC>P " Minipage imap ,mp \begin{minipage}[t]{}<CR>\end{minipage}<ESC>O vmap ,mp S\begin{minipage}[t]{}<CR>\end{minipage}<ESC>P " Double-colonnage imap ,dc \begin{multicols}{2}<CR>\end{multicols}<ESC>O vmap ,dc S\begin{multicols}{2}<CR>\end{multicols}<ESC>P " Caractères machine à écrire imap ,tt \texttt{}<ESC>i vmap ,tt s\texttt{<ESC>pa} " Caractères gras imap ,bf \textbf{}<ESC>i vmap ,bf s\textbf{}<ESC>Pi " Paragraphe imap ,pa \paragraph{}<ESC>i vmap ,pa s\paragraph{}<ESC>Pi " Soulignement imap ,_ \underline{}<ESC>i vmap ,_ s\underline{<ESC>pa} " Ligne supérieure imap ,ol \overline{}<ESC>i vmap ,ol s\overline{<ESC>pa} " Caractères penchés imap ,sl \textsl{}<ESC>i vmap ,sl s\textsl{<ESC>pa} imap ,sls {\slshape<CR>}<ESC>O vmap ,sls S{\slshape<CR>}<ESC>P " Caractères italiques imap ,i \textit{}<ESC>i vmap ,i s\textit{<ESC>pa} imap ,is {\itshape<CR>}<ESC>O vmap ,is S{\itshape<CR>}<ESC>P " Petites capitales imap ,sc \textsc{}<ESC>i vmap ,sc s\textsc{<ESC>pa} " Caligraphiques math imap ,mc \mathscr{}<ESC>i vmap ,mc s\mathscr{<ESC>pa} " Ensembles math imap ,mb \mathbb{}<ESC>i vmap ,mb s\mathbb{<ESC>pa} " Ensembles imap ,bb \mathbb{}<ESC>i vmap ,bb s\mathbb{<ESC>pa} " Verbatim imap ,vb+ \verb++<ESC>i vmap ,vb+ s\verb+<ESC>pa+ imap ,vbt \begin{verbatim}<CR>\end{verbatim}<ESC>O vmap ,vbt S\begin{verbatim}<CR>\end{verbatim}<ESC>P " Vecteur imap ,v \overrightarrow{}<ESC>i vmap ,v s\overrightarrow{<ESC>pa} " Logarithmes, exponentielles imap ,ln \ln{}<ESC>i imap ,exp \exp{}<ESC>i vmap ,ln s\ln{<ESC>pa} vmap ,exp s\exp{<ESC>pa} " Infini imap ,inf \infty{} " Fantôme imap ,ph \phantom{}<ESC>i vmap ,ph s\phantom{<ESC>pa} " Insertion tableau imap ,tab \begin{tabular}[t]{}<CR>\end{tabular}<ESC>k$i imap ,tabc \begin{tabular}[c]{}<CR>\end{tabular}<ESC>k$i imap ,hl \hline imap ,ar \begin{array}[t]{rcl}<CR>\end{array}<ESC>O imap ,eqn \begin{eqnarray*}<CR>\end{eqnarray*}<ESC>O imap ,sy \left\lbrace{}<CR>\begin{array}{rcl}<CR>\end{array}\right.<ESC>O vmap ,tab S\begin{tabular}[t]{}<CR>\end{tabular}<ESC>P " = en tableau math imap ,& &<SPACE>=<SPACE>&<SPACE> imap ,ou &<SPACE>\textrm{ ou }<SPACE>&<SPACE> " Interligne tableaux imap ,ast \renewcommand{\arraystretch}{1.8} " Accolades systèmes imap ,{ \left\lbrace{} imap ,. \right. " Liste imap ,ite \begin{itemize}<CR>\end{itemize}<ESC>O\item<SPACE> vmap ,ite S\begin{itemize}<CR>\end{itemize}<ESC>P imap ,it \item " Enumeration imap ,en \begin{enumerate}[1°)]<CR>\end{enumerate}<ESC>O\item<SPACE> vmap ,en S\begin{enumerate}[1°)]<CR>\end{enumerate}<ESC>P " Description imap ,des \begin{description}<CR>\end{description}<ESC>O\item[]<ESC>i imap ,itd \item[]<ESC>i " Au fer à droite imap ,r \begin{flushright}<CR>\end{flushright}<ESC>O vmap ,r S\begin{flushright}<CR>\end{flushright}<ESC>P " Au fer à gauche imap ,l \begin{flushleft}<CR>\end{flushleft}<ESC>O vmap ,l S\begin{flushleft}<CR>\end{flushleft}<ESC>P " Alinéa imap ,ind \indent{} " Pas d'alinéa imap ,noi \noindent{} " Largeur de texte imap ,tw \textwidth " Espaces supplémentaires imap ,, \, imap ,; \; imap ,q \quad imap ,qq \qquad " Espacement horizontal ou vertical imap ,hs \hspace{}<ESC>i imap ,vs \vspace{}<ESC>i " Remplissage horizontal ou vertical imap ,hf \hfill imap ,vf \vfill " Parenthèses imap ,( \left( imap ,) \right) imap ,() \left( \right)<ESC>8hi " Crochets imap ,[ \left[ imap ,] \right] imap ,dcr \left[ \right]<ESC>8hi " Rien à droite imap ,. \right. " Environ égal imap ,= \simeq " Différent imap ,n= \not= " Inégalités imap ,< \leqslant{} imap ,> \geqslant{} " Équivalences imap ,eq \Longleftrightarrow{} " Nombres barrés imap ,ca \cancel{}<ESC>i vmap ,ca s\cancel{}<ESC>Pa " Boîtes imap ,fb \fbox{}<ESC>i vmap ,fb c\fbox{}<ESC>PA " Numéros imap ,no \no{}<ESC>i imap ,No \No{}<ESC>i imap ,e \ieme{}<ESC>i imap ,er 1\ier{} " Renvois imap ,fn \,\footnote{}<ESC>i " Liens imap ,url \url{}<ESC>i imap ,hr \href{}{}<ESC>2hi vmap ,url s\url{<ESC>pa} vmap ,hr s\href{<ESC>pa}{} endfunction function! Fhtml() " Dossier du fichier comme dossier de travail de Vim set acd " Pour Vim < 7.0 "map ,cwd :cd %:h " Codages des caractères ISO-8859-1 "set encoding=iso-8859-1 set fileencoding=iso-8859-15 " Modèles map ,mod :r ~/site/statique/modele.html<CR>ggdd " Sauvegarde sans quitter le mode insertion si mode insertion il y " avait. map <F2> <ESC>:w<CR> imap <F2> <ESC>:w<CR> " Sauvegarde en quittant le mode insertion " Visualisation map <F5> :!firefox %:p &<CR><CR> imap <F5> <ESC>:!firefox %:p &<CR><CR>a " FTP map <F3> :!gftp &<CR><CR> imap <F3> <ESC>:!gftp &<CR><CR>a " 4 espaces pour les tabulations suffisent en HTML set ts=4 set sw=4 " Pas de retour à la ligne set tw=0 " Insertion de saut à la ligne imap ,br <CR><br><CR> " Headers 1, 2, 3 et 4 imap ,h1 <h1></h1><ESC>4hi vmap ,h1 s<h1><ESC>pa</h1> imap ,h2 <h2></h2><ESC>4hi vmap ,h2 s<h2><ESC>pa</h2> imap ,h3 <h3></h3><ESC>4hi vmap ,h3 s<h3><ESC>pa</h3> imap ,h4 <h4></h4><ESC>4hi vmap ,h4 s<h4><ESC>pa</h4> " Environnement div quelconque imap ,div <div class=""><CR></div><ESC>?"<CR>i vmap ,div di<div class=""><CR></div><ESC>P " Centrage imap ,c <div align="center"><CR></div><ESC>O vmap ,c S<div align="center"><CR></div><ESC>P " Justifié imap ,j <div align="justify"><CR></div><ESC>O vmap ,j s<div align="justify"><CR></div><ESC>P " Paragraphe imap ,p <p><CR></p><ESC>O vmap ,p S<p><CR></p><ESC>P " Gras imap ,b <strong></strong><ESC>8hi vmap ,b s<strong><ESC>pa</strong> " Italique imap ,i <em></em><ESC>4hi vmap ,i s<em><ESC>pa</em> " Image imap ,img <img src="" border="0" alt=""><ESC>19hi vmap ,img s<img src="" border="0" alt=""><ESC>19hPa " Liens imap ,lnk <a href=""></a><ESC>5hi vmap ,lnk s<a href="<ESC>pa"><ESC>pa</a> imap ,eml <a href="mailto:?Subject="></a><ESC>3hi vmap ,eml <a href="mailto:?Subject="><ESC>pa</a> " Étiquettes (liens internes) imap ,lnh <a href="#"></a><ESC>5hi imap ,lnn <a name=""></a><ESC>5hi vmap ,lnn s<a name="<ESC>pa"><ESC>pa</a> " Choix de fonte imap ,ff <font face=""></font><ESC>8hi vmap ,ff s<font face=""><ESC>pa</font> " Fonte courier imap ,ffc <font face="courier"></font><ESC>6hi vmap ,ffc s<font face="courier"><ESC>pa</font> " Taille de police imap ,fs <font size=""></font><ESC>8hi vmap ,fs s<font size=""><ESC>pa</font> " Taille de police 5 imap ,fs5 <font size="5"></font><ESC>6hi vmap ,fs5 s<font size="5"><ESC>pa</font> " Texte préformatté imap ,pre <pre><CR></pre><ESC>O vmap ,pre s<pre><CR></pre><ESC>P " Commentaire imap ,com <!--<CR>--><ESC>kA vmap ,com S<!--<CR>--><ESC>P " Insertion balises de base map ,int <ESC>:r modele.html<CR>i imap ,int <ESC>:r modele.html<CR>i " Insertion icône-titre imap ,ic <link rel="icon" type="image/png" href="favicon.ico/"> vmap ,ic s<link rel="icon" type="image/png" href=\"<ESC>pa\"> " Visualisation du fichier courant dans Mozilla " Attention : Mozilla exige le chemin absolu complet " map <F5> :w<CR>:!mozilla %:p &<CR> " imap <F5> <ESC>:w<CR>:!mozilla %:p &<CR> " Modification du fichier courant dans Mozilla " Attention : Mozilla exige le chemin absolu complet " map <S-F5> :w<CR>:!mozilla -editor %:p &<CR> " imap <S-F5> <ESC>:w<CR>:!mozilla -editor %:p &<CR> " Tableau imap ,tab <table><CR></table><ESC>O vmap ,tab s<table><CR></table><ESC>P imap ,tr <tr><cr></tr><ESC>O vmap ,tr S<tr><CR></tr><ESC>P imap ,td <td><cr></td><ESC>O vmap ,td S<td><CR></td><ESC>P " imap ,td <td></td><ESC>4hi " vmap ,td s<td><ESC>pa</td> " Code imap ,co <code></code><ESC>6hi vmap ,co s<code><ESC>pa</code> " Liste (sans numérotation) imap ,ul <ul><CR></ul><ESC>O vmap ,ul s<ul><CR></ul><ESC>P " Liste (avec numérotation) imap ,ol <ol><CR></ol><ESC>O vmap ,ol s<ol><CR></ol><ESC>P " Élément de liste imap ,li <li><CR></li><ESC>O vmap ,li s<li><CR></li><ESC>P " Liste descriptive " environnement imap ,dl <dl><CR></dl><ESC>O vmap ,dl s<dl><CR></dl><ESC>P " élément imap ,dt <dt><CR></dt><ESC>O vmap ,dt s<dt><CR></dt><ESC>P "description imap ,dd <dd><CR></dd><ESC>O vmap ,dd s<dd><CR></dd><ESC>P " Indice, exposant " imap ,ind imap ,sup <sup></sup><ESC>5hi " Bouton imap ,bt <form><CR></form><ESC>O<input type="button" value="Tester le bouton" onClick="alert(bouton fonctionnel);"> " Formulaire imap ,frm <form><CR></form><ESC>O " Champ de texte imap ,chp <form><CR></form><ESC>O<input type="text" value="valeur"> " evalCommand Javascript imap ,evc document.applets[0].evalCommand('');<ESC>2hi " getValue Javascript imap ,gv document.applets[0].getValue('');<ESC>2hi " Insertion d'un script Javascript imap ,js <script type="text/javascript"><CR></script><ESC>O " Boîte de message imap ,al alert('Alerte quelconque'); endfunction function! Fjs() " Tout de Fhtml... exe Fhtml() " ... sauf les commentaires ! vmap ,com S/*<CR>*/<ESC>P endfunction function! Fxml() set sw=2 set ts=2 " Commentaires imap ,com <!-- --><ESC>hi vmap ,com S<!--<CR>--><ESC>P endfunction function! Fcss() " Tabulations réduites à 2 set ts=2 set sw=2 " Commentaires imap ,com /**/<ESC>hi vmap ,com s/*<CR>*/<ESC>P endfunction function! Fspip() "" Fortement expérimental ! "" À vos risques et périls ! " Code imap ,co <code></code><ESC>b2hi vmap ,co s<code><ESC>pa</code> " Cadre de code imap ,ca <cadre><CR></cadre><ESC>O vmap ,ca S<cadre><CR></cadre><ESC>P " Intertitre imap ,itt {{{<CR>}}}<ESC>O vmap ,itt c{{{}}}<ESC>2hP " Gras imap ,bf {{}}<ESC>hi vmap ,bf c{{}}<ESC>hPI " Italique imap ,i {}<ESC>i vmap ,i c{}<ESC>PI " Ligne horizontale imap ,hr <CR>----<CR> " Lien Internet imap ,lnk [->]<ESC>2hi vmap ,lnk s[<ESC>pa-><ESC>pa] " Lien + bulle imap ,lb [->]<ESC>2hi vmap ,lb s[<ESC>pa-><ESC>pa] " Lien article "lien vers [l'article->342] "lien vers [l'article->art342] "lien vers [l'article->article 342] "Application spécifique : [->art342] (on n’a rien indiqué avant la « "flèche ») affichera automatiquement le titre de l’article 342 avec un "lien vers cet article. " Idem avec doc, img, mot, auteur, etc... " Citation imap ,qt <quote><CR></quote><ESC>O vmap ,qt S<quote><CR></quote><ESC>P endfunction
Ce vimrc change souvent et peut être retrouvé (fr) ici.
Il peut être inclue en plus de votre vimrc en ajoutant dans votre vimrc la ligne suivante:
source <nom du fichier>
Remarque: :source <fichier.vim> permet de recharger un fichier vim pendant l'exécution de vim, cela marche aussi pour votre vimrc.
