Liste de fonctions

De Vim-fr

Cette page contient un ensemble de fonctions utiles pour vim. N'hésitez pas à rajouter les vôtres.

Remarque: ces fonctions sont souvent rajoutées dans le .vimrc.

CleanText

fun CleanText()
    let curcol = col(".")
    let curline = line(".")
    exe ":retab"
$//ge"xe ":%s/
/ /ge"xe ":%s/
    exe ":%s/ \\+$//e"
    call cursor(curline, curcol)
endfun
map <F6> :call CleanText()<CR>

Cette fonction convertit tous les tabs en espaces (suivant la valeur en espaces que vous avez attribuée à vos tabs), met les fichiers aux formats mac et dos au format unix. Elle supprime également les espaces en trop en fin de lignes. La fonction est mapée sur la touche <F6> ici.

ModeChange

function ModeChange()
  if getline(1) =~ "^#!.*/bin/"
      silent !chmod u+x <afile>
  endif
endfunction
 
au BufWritePost * call ModeChange()

Rajoute automatiquement la permission "exécutable" aux fichiers dont la première ligne commence par #!<n'importe quel caractère>/bin/.

Uploader sur un ftp

let g:hftp="mon-hote.fr/www/"
let g:rep="/srv/http/monProjet/"
function! E_ftp_upload()
    exec ":cd ".g:rep
    let s:fichier=bufname("%")
    exec ":Nwrite ftp://".g:hftp.s:fichier
endfunction
map <F8> :call E_ftp_upload()<ENTER>

Cette fonction permet d'uploader le fichier courant sur un ftp, où le fichier est situé à un endroit similaire, comme dans le cas où le site web a été cloné en local.