Vim :Le fonctionnement des options ..?

Bien le bonsoir chez vous ! :006

J’ai pris la décision de passer dans la classe préparatoire de Vim, par le biais du “siteduzero”.

http://www.siteduzero.com/tutoriel-3-88344-vim-l-editeur-de-texte-du-programmeur.html

Une première chose me chagrine !

Certains dirons, à juste titre !
Il lui faut pas grand chose pour être contrarier. :laughing: :laughing: :laughing:

Certes ! :snooty:

D’entré, je me retrouve avec une configuration (d’origine) de Vim différente du tuto.

A savoir : l’option set number n’est pas présente dans ma config.

[quote]siteduzero à écrit :
Activer des options dans un fichier de configuration.

A décommenter

"set number[/quote]

set number

Version de Vim installer :

VIM - Vi Amélioré version 7.1.314 par Bram Moolenaar et al. Vim est un logiciel libre.

Est ce dû à une divergence de version installer par rapport au tuto ?

[quote]siteduzero à écrit :
Le fonctionnement des options

Les options peuvent être activées après le lancement de Vim en lançant des commandes. Cependant, ces options seront “oubliées” dès que vous quitterez Vim.
Si vous voulez que les options soient activées à chaque démarrage de Vim, il faut créer un fichier de configuration .vimrc dans votre répertoire personnel.

Activer des options dans un fichier de configuration

Les lignes commençant par " sont des commentaires. Je vous recommande de les lire, ils donnent des informations utiles.

Passons maintenant à l’activation de quelques commandes bien utiles. Je vous recommande de travailler avec le fichier de configuration .vimrc comme moi, et d’activer les options qui vous plaisent en décommentant les lignes concernées.

number : afficher les numéros de ligne

Il est possible d’afficher le numéro de chaque ligne à gauche :
[/quote]

$ cp /etc/vim/vimrc ~/.vimrc $ vim .vimrc

set number ... ?
Voici mon fichier de configuration d’origine :

[code]" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" ‘compatible’ option.

" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets ‘nocompatible’. Setting ‘compatible’ changes numerous
" options, so any other options should be set AFTER setting ‘compatible’.
"set compatible

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
"syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
“if has(“autocmd”)
" au BufReadPost * if line(”’"") > 0 && line("’"") <= line("$")
" | exe “normal! g’”" | endif
"endif

" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
"if has(“autocmd”)
" filetype plugin indent on
"endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd " Show (partial) command in status line.
"set showmatch " Show matching brackets.
"set ignorecase " Do case insensitive matching
"set smartcase " Do smart case matching
"set incsearch " Incremental search
"set autowrite " Automatically save before commands like :next and :make
"set hidden " Hide buffers when they are abandoned
"set mouse=a " Enable mouse usage (all modes) in terminals

" Source a global configuration file if available
" XXX Deprecated, please move your changes here in /etc/vim/vimrc
if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif[/code]

Ce qui me “contraris” est dû au fait que, “si” dés la mise en application de Vim, je me trouve confronter à des “option” qui n’apparaisses pas dans ma config, alors qu’en sera t-il dans les prochains chapitres ?
J’entend par là le bon suivit de cette formation.

Je vous en serre cinq ! :wink:

Amicalement, loreleil. :006

Le fichier de configuration fourni par défaut n’est peut-être pas le même exactement que celui du tutoriel du site du zero. Ou c’est le tutoriel qui contient une petite erreur. Tout ce que tu as à y retenir, c’est que

doit être précisé dans le ~.vimrc, tout simplement.
En fait, tu peux préciser des options lorsque tu est en train d’utiliser vim, en faisant :

:set nomdeloption par exemple. Pour ne pas avoir à le faire à chaque fois, tu le met dans le .vimrc, et c’est plus pratique :slightly_smiling:

Bien le bonsoir à toi thuban,

Dois je comprendre qu’il me suffirais d’éditer avec Vim les “option” non présentes comme ci-dessous ?
Pour ces raisons :

:set nomdeloption

[quote]doit être précisé dans le ~.vimrc, tout simplement.
Pour ne pas avoir à le faire à chaque fois, tu le met dans le .vimrc, et c’est plus pratique[/quote]
Chez moi vim .vimrc

[code]~$ vim .vimrc
" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" ‘compatible’ option.

" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets ‘nocompatible’. Setting ‘compatible’ changes numerous
" options, so any other options should be set AFTER setting ‘compatible’.
"set compatible

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
"syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
“if has(“autocmd”)
" au BufReadPost * if line(”’"") > 0 && line("’"") <= line("$")
" | exe “normal! g’”" | endif
"endif

" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
"if has(“autocmd”)
" filetype plugin indent on
"endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd " Show (partial) command in status line.
"set showmatch " Show matching brackets.
"set ignorecase " Do case insensitive matching
"set smartcase " Do smart case matching
"set incsearch " Incremental search
"set autowrite " Automatically save before commands like :next and :make
"set hidden " Hide buffers when they are abandoned
"set mouse=a " Enable mouse usage (all modes) in terminals

" Source a global configuration file if available
" XXX Deprecated, please move your changes here in /etc/vim/vimrc
if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif[/code]
Et d’ajouter en fin de script ici :

"set showcmd " Show (partial) command in status line. "set showmatch " Show matching brackets. "set ignorecase " Do case insensitive matching "set smartcase " Do smart case matching "set incsearch " Incremental search "set autowrite " Automatically save before commands like :next and :make "set hidden " Hide buffers when they are abandoned "set mouse=a " Enable mouse usage (all modes) in terminals
Qui donnerait :

"set showcmd " Show (partial) command in status line. "set showmatch " Show matching brackets. "set ignorecase " Do case insensitive matching "set smartcase " Do smart case matching "set incsearch " Incremental search "set autowrite " Automatically save before commands like :next and :make "set hidden " Hide buffers when they are abandoned "set mouse=a " Enable mouse usage (all modes) in terminals set number
set number

Est ce bien ça thuban ?

Merci. :006

bonjour

tu veux débuter sur vim alors je ne peux que te conseiller en console vimtutor ou depuis vim :!vimtutor

à chaque fois tu que tu as besoin d’une aide :h lenom (h pour help)

Je crois comprendre que c’est bien ça, du moment que tu enlèves les " , qui servent à commenter le fichier .vimrc (les # ayant une autre signification pour si tu veux insérer le nom du fichier… mais tu n’en est pas là )
Je rejoins limax à propos de vimtutor pour commencer! Tout ce qui est option, tu pourras le compléter au fur et à mesure. Il y a quelques sujets sur le forum discutant de vim par exemple, et surement pleins d’autres sur internet!
Tiens, juste pour te donner un aperçu, voici mon vimrc (je ne fais que bricoler, donc il n’est pas des plus propres). Il permet l’activation de certains options pour le code, active la correction orthographique pour les fichiers .tex, lance des modèles lorsque je commence un nouveau fichier .tex, .c, .cpp, .py , .sh , rajoute la date de dernière modification… Bref, c’est juste pour te montrer que en prenant le temps de lire, tu pourras avoir ton éditeur à toi, faisant vraiment ce que tu veux!

[code]syntax on
colorscheme desert
set number
set backup
set history=100
set undolevels=150
if filewritable(expand("~/.vim/backup")) == 2
" comme le répertoire est accessible en écriture,
" on va l’utiliser.
set backupdir=$HOME/.vim/backup
else
if has(“unix”) || has(“win32unix”)
" C’est c’est un système compatible UNIX, on
" va créer le répertoire et l’utiliser.
call system(“mkdir $HOME/.vim/backup -p”)
set backupdir=$HOME/.vim/backup
endif
endif
set autoread
set showmatch
set laststatus=2
set incsearch
set noignorecase
set infercase
set showcmd
set ruler
set cindent
set autochdir
set title
set autoindent
set smartindent
au BufNewFile,BufRead *.tex set spell
au BufNewFile,BufRead *.tex setlocal spell spelllang=fr
autocmd BufReadPost *
\ if line("’"") > 0 && line("’"") <= line("$") |
\ exe “normal g`”" |
\ endif
au bufNewFile *.html 0r ~/.vim/templates/html
au bufNewFile *.sh 0r ~/.vim/templates/sh
au bufNewFile *.cpp 0r ~/.vim/templates/cpp
au bufNewFile *.c 0r ~/.vim/templates/c
au bufNewFile *.tex 0r ~/.vim/templates/tex
au bufNewFile *.py 0r ~/.vim/templates/python

au bufNewFile *.tex ks|call CreaFichTex()|'s
au bufNewFile *.py ks|call CreaFichPython()|'s
autocmd bufNewFile *.c ks|call CreaFichNamec()|'s
autocmd bufNewFile *.cpp ks|call CreaFichNamec()|'s
autocmd BufWritePre,FileWritePre *.c ks|call DerModif()|'s
autocmd BufWritePre,FileWritePre *.cpp ks|call DerModif()|'s
autocmd BufWritePre,FileWritePre *.tex ks|call DerModif2()|'s
autocmd BufWritePre,FileWritePre *.py ks|call DerModif()|'s

autocmd BufRead,BufNewFile *.py syntax on
autocmd BufRead,BufNewFile *.py set ai
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,with,try,except,finally,def,class

filetype plugin on
set grepprg=grep\ -nH\ $*
filetype indent on
let g:tex_flavor=‘latex’

fun CreaFichNamec()
execute("r! echo "// Fichier: “%”)
execute(“r! echo “// Crée le “”.strftime(”%d %b %Y %X”))
execute(“r! echo “// Dernière modification: “”.strftime(”%d %b %Y %X”))
endfun

fun DerModif()
if line("$") > 20
let l = 20
else
let l = line("$")
endif
exe “1,” . l . “g/Dernière modification: /s/Dernière modification: ./Dernière modification: " .
\ strftime("%d %b %Y %X")
endfun
fun DerModif2()
if line("$") > 20
let l = 20
else
let l = line("$")
endif
exe “1,” . l . "g/%Fichier: .
/s/%Fichier: ./%Fichier: ".@%
exe “1,” . l . "g/Dernière modification: /s/Dernière modification: .
/Dernière modification: " .
\ strftime(”%d %b %Y %X")
endfun

fun CreaFichTex()
set filetype=tex
execute(“r! echo “\%Fichier: “%”)
execute(“r! echo “\%Crée le “”.strftime(”%d %b %Y %X”))
execute(“r! echo “\%Dernière modification: “”.strftime(”%d %b %Y %X”))
endfun
fun CreaFichPython()
execute(“r! echo " \# Fichier: “%”)
execute(“r! echo " \# Crée le “”.strftime(”%d %b %Y %X”))
execute(“r! echo " \# Dernière modification: “”.strftime(”%d %b %Y %X”))
endfun
nmap :call setreg(”"",system(“sselp”))p
[/code]

Bien le bonjour chez vous !

@ limax,

[quote=“limax”]bonjour

tu veux débuter sur vim alors je ne peux que te conseiller en console vimtutor ou depuis vim :!vimtutor

à chaque fois tu que tu as besoin d’une aide :h lenom (h pour help)[/quote]
Merci, éffectivement vimtutor est indispensable et siteduzero" http://www.siteduzero.com/tutoriel-3-88344-vim-l-editeur-de-texte-du-programmeur.html
en reprend les grandes lignes.

[quote]loreleil à écrit :
Une première chose me chagrine !

Certains dirons, à juste titre !
Il lui faut pas grand chose pour être contrarier. :laughing: :laughing: :laughing:

Certes ! :snooty:

[color=#0000FF]D’entré, je me retrouve avec une configuration (d’origine) de Vim différente du tuto.

A savoir : l’option set number n’est pas présente dans ma config.[/color][/quote]

ps: j’ai modifier le titre , qui n’évoquait pas le sens du fil.

Je vous en serre cinq, loreleil. :006

Bonjour à toi thuban,

Merci, de toutes ces informations, et ton fichier vimrc me parle :023 !

Ouups ! :116 je ne suis pas aller jusqu’au bout de vimtutor. :blush:

Cloche verte plus très loin … :wink:

Vimtutor n’est pas si long pourtant! il faut aller, 30 minutes grand maximum!

Tiens, un truc qui pourra t’être utile aussi, mais qui ne touche pas le .vimrc du coup :
une fiche de rappel, à avoir sous la main pour commencer (complet) :
mirorii.com/fichier/14/33443 … r-pdf.html

Une méga-documentation, mais en anglais :
mirorii.com/fichier/60/33443 … L-pdf.html

Bien le bonjour chez vous !

@ thuban,

J’ai sauter des leçons, j’ai voulu passer à la pratique un peu trop vite.

T’as pas honte huuum … 30 minutes ! Que diable c’est pas la mer à boire ! :laughing:

[quote]Tiens, un truc qui pourra t’être utile aussi, mais qui ne touche pas le .vimrc du coup :
une fiche de rappel, à avoir sous la main pour commencer (complet) :[/quote]
http://www.mirorii.com/fichier/14/33443%20…%20r-pdf.html
http://www.mirorii.com/fichier/60/33443%20…%20L-pdf.html

Merci pour tes liens thuban.

[quote]vimtutor à écrit :
Leçon 6.4 : RÉGLAGE DES OPTIONS

** Réglons une option afin que la recherche et la substitution ignorent la
casse des caractères. **

  1. Recherchez ‘ignore’ en tapant /ignore .
    Répétez ceci plusieurs fois en utilisant la touche n .

  2. Activez l’option ‘ic’ (Ignorer casse) en tapant :set ic .

  3. Puis poursuivez votre recherche en utilisant n .
    Répétez cette recherche plusieurs fois avec la touche n .

  4. Activez les options ‘hlsearch’ et ‘incsearch’ avec :set hls is .

  5. Puis recommencez une recherche, et faites bien attention à ce qui se
    produit: /ignore .

  6. Pour interrompre la mise en surbrillance des résultats, tapez:
    :nohlsearch

                             RÉSUMÉ DE LA LEÇON 6


  1. Taper  o  ouvre une ligne SOUS le curseur et y place celui-ci en mode
     Insertion. Taper un  O  majuscule ouvre une ligne au DESSUS de la ligne
     où se trouve le curseur.

  2. Tapez un  a  pour insérer du texte APRÈS le caractère où se trouve le
     curseur. Taper un  A  majuscule ajoute du texte automatiquement à la fin
     de la ligne.

  3. Taper un  R  majuscule active le mode Remplacement jusqu'à ce que la
     touche  <Échap>  soit appuyée pour en sortir.

  4. Taper  :set xxx  active l'option 'xxx'.

                     Leçon 7 : ACCÉDER À L'AIDE EN LIGNE

                  ** Utiliser le système d'aide en ligne. **

  Vim a un système complet d'aide en ligne.  Pour y accéder, essayez l'une de
  ces trois méthodes:
        - appuyez la touche <Help> (si vous en avez une)
        - appuyez la touche <F1> (si vous en avez une)
        - tapez  :help <Entrée>

  Tapez  :q <Entrée>  pour fermer la fenêtre d'aide.

  Vous pouvez accéder à l'aide sur à peu près n'importe quel sujet en donnant
  des arguments à la commande  :help . Essayez par exemple (n'oubliez pas
  d'appuyer sur <Entrée>):

        :help w
        :help c_<T
        :help insert-index
        :help user-manual


                Leçon 8 : CRÉER UN SCRIPT DE DÉMARRAGE

              ** Activer les fonctionnalités de Vim. **

Vim a beaucoup plus de fonctionnalités que Vi, mais la plupart de celles-ci
sont désactivées par défaut. Pour commencer à les utiliser, vous devez
créer un fichier “vimrc”.

  1. Commencez à éditer le fichier “vimrc”. Ceci dépend de votre système:
    :edit ~/.vimrc pour Unix
    :edit $VIM/_vimrc pour MS-Windows

  2. Intégrez maintenant le texte du fichier “vimrc” d’exemple:
    :read $VIMRUNTIME/vimrc_example.vim

  3. Enregistrez le fichier avec:
    :write

La prochaine fois que vous démarrerez Vim, le surlignage syntactique sera
activé. Vous pouvez ajouter tous vos réglages préférés dans ce fichier.


  Ceci conclut le Tutoriel Vim.  Le but était de vous donner un bref aperçu de
  l'éditeur Vim, juste assez pour vous permettre d'utiliser l'éditeur
  relativement facilement.  Il est loin d'être complet, vu que Vim a beaucoup
  beaucoup plus de commandes.  Un Manuel de l'utilisateur est disponible en
  anglais:  :help user-manual .

  Pour continuer à découvrir et à apprendre Vim, il existe un livre traduit en
  français. Il parle plus de Vi que de Vim, mais pourra vous être utile.
  L'éditeur Vi - Collection Précis et concis - par Arnold Robbins
        Éditeur: O'Reilly France
        ISBN: 2-84177-102-4

  Deux livres en anglais sont également mentionnés dans la version originale
  de ce tutoriel, dont un qui traite spécifiquement de Vim. Merci de vous y
  référer si vous êtes intéressé.

  Ce tutoriel a été écrit par Michael C. Pierce et Robert K. Ware de l'École
  des Mines du Colorado et reprend des idées fournies par Charles Smith,
  Universté d'État du Colorado.  E-mail: [bware@mines.colorado.edu](mailto:bware@mines.colorado.edu).

  Modifié pour Vim par Bram Moolenar.

  Traduit en Français par Adrien Beau, en avril 2001.
  E-mail:       [version.francaise@free.fr](mailto:version.francaise@free.fr)
  Last Change:  2003 May 29
[/quote]
[quote]loreleil à écrit :
 ps: j'ai modifier le titre , qui n'évoquait pas le sens du fil.[/quote]

loreleil pour modifier le titre de ton sujet il eu fallut pour ce faire, éditer ton premier post !  :laughing:  <img src="/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif" width="25" height="15" alt=":005" title="chaud"/> 

Merci à tout deux.  <img src="/uploads/default/original/1X/3c587556c0cc11389317c03a60788d77ceebd307.gif" width="25" height="18" alt=":023" title="OK"/> 

Je vous en serre cinq.
Amicalement, loreleil.

Pour ce qui est de l’attribution de VIM aux programmeurs, cette affirmation n’est pas si fausse.
Il est possible de faire de l’auto complétion de nombreux language
J’ai récemment vue une conférence d’un dev OOo et il leur est impossible de faire du dev autrement que par VIM/Emac, les sources et certain fichier étant bien trop gros pour être digéré par des IDE tel Eclipse, ou Visual Studio :005