Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#201 Le 13/03/2009, à 20:09

Theys

Re : Liste de Commandes/Fonctions utile sous VIM

deux astuces vim

la premiere serait pour commenter toute une serie de ligne a la suite

vs vs mettez devant la ligne sur le premier caractere ensuite CTRL+V

vous descendez jusqu a la fin

ensuite SHIFT+i

ensuite pour commentez ALTGR+3 (#)

ensuite esc et magie

maintenant pour remplacer uen chaine

:%s/ceci/cela/g

#202 Le 13/03/2009, à 21:26

tshirtman

Re : Liste de Commandes/Fonctions utile sous VIM

@Yannick: pour les deux premiers le i n'est pas obligatoire, pour les deux suivant enlever le i change ce qui est remplacé par contre (phrase avec '('ou paragraphe avec '['). wink par contre merci pour le xml smile


@Theys: je me sert de ça très souvent wink

Hors ligne

#203 Le 14/03/2009, à 00:21

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

@tshirtman, le i change tout à ciw. Positionnes-toi au milieu du mot et exécute ciw. Annule et recommence ensuite avec cw.

Accessoirement, on commence à radoter, cf messages #71 et #72 tongue

Pour les commentaires, déjà discuté, cf message #91 et alentours. tongue

Hors ligne

#204 Le 14/03/2009, à 07:25

tshirtman

Re : Liste de Commandes/Fonctions utile sous VIM

Ah oui pardon yikes mea culpa!

... fin bon du coup bcw fait pareil en autant de frappes tongue

Hors ligne

#205 Le 14/04/2009, à 11:05

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

Une petite question : est-il possible d'empêcher le curseur de se déplacer quand on se déplace dans le document à la souris ?
Par exemple si je monte avec ma molette en haut de mon doc j'aimerai que mon curseur lui reste à la même place, et de même, si je me met à écrire un truc, j'aimerai que vim me replace sur mon curseur. (je sais pas si c'est bien claire ?)

Quelqu'un a une idée ? ou astuce ?

#206 Le 14/04/2009, à 13:24

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

C'est vrai que c'est un détail qui m'ennuie aussi, mais je n'ai encore jamais cherché à le résoudre. Jusqu'à présent, je pose toujours beaucoup de marques et je m'en sors avec du coup.
À ce sujet, tu as la marque dernière position qui peut faire l'affaire -> ``

Hors ligne

#207 Le 14/04/2009, à 13:29

tshirtman

Re : Liste de Commandes/Fonctions utile sous VIM

j'utilise pas mal ^o et ^i pour aller et venir aux endroits ou j'ai bossé avant et après...

Hors ligne

#208 Le 14/04/2009, à 13:43

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

Idem, mais je me demandais si des personnes c'était déjà intéressé à ça .... je trouve que ce serai plutôt utile. Je continue de chercher ... wink

Sinon vous savez comment commenter plusieurs lignes sélectionner à la souris. J'aimerai sélectionner plusieurs lignes et avec soit ctrl-d ou ctrl-maj-d par exemple commenter ou décommenter mes lignes. (je fais du perl donc ce serai mettre ou enlever # devant chaque ligne)

Je suis en train de chercher, mais j'ai un peu de mal à trouver comment faire ou a comprendre comment faire ... je fais mes premiers pas sur vim, et je tente de le rendre le plus conviviale possible. (^_^)

#209 Le 14/04/2009, à 14:29

geenux

Re : Liste de Commandes/Fonctions utile sous VIM

Perso, pour rajouter des commentaires, je fais avec la sélection par bloc.

Hors ligne

#210 Le 14/04/2009, à 14:48

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

C'est à dire ?
Je veut pas rajouter des commentaires par contre, je veut commenter ou décommenter plusieurs lignes.
J'arrive a commenter/décommenter une ligne, et j'aimerai l'étendre pour réaliser la même chose sur plusieurs lignes d'un coup.

#211 Le 14/04/2009, à 14:59

fredr

Re : Liste de Commandes/Fonctions utile sous VIM

@chibie:

Voici deux lignes de mon .vimrc (j'ai du les trouver sur le net mais ou??)

vmap <buffer> <F3> :s:^:% :<CR>
vmap <buffer> <F4> :s:^\( *\)% :\1:e<CR>

En mode visuel, tu sélectionnes tes lignes puis F3 commente et F4 décommente.

Fred


Fana du distro hopping, actuellement sur Ubuntu 24.04 avec Regolith Desktop Sway.
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#212 Le 14/04/2009, à 15:07

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

Ca ne marche pas chez moi ... sad

#213 Le 14/04/2009, à 15:16

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

Autant pour moi !
Si ça marche sauf qu'il veut pas f3 et f4, je ne les ai pourtant pas utiliser ailleurs ... (O_o)?
j'vais voir si je parviens à le modeler un peu !

#214 Le 14/04/2009, à 15:17

fredr

Re : Liste de Commandes/Fonctions utile sous VIM

Je suppose que tu as bien ajouté les lignes à ton .vimrc?

Pour tester sur une ligne :

<esc>v (pour passer en mode visuel) F3 devrait marcher...

Fred


Fana du distro hopping, actuellement sur Ubuntu 24.04 avec Regolith Desktop Sway.
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#215 Le 14/04/2009, à 15:49

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

c dommage de devoir faire ecs-v puis selectionner au clavier puis F3 ! Je voulais en mode insert selectionner à la souris mon block et faire f3, puis continuer en mode insert .... roll
(Et là je me fait des ennemis parmi les puristes du clavier)

#216 Le 14/04/2009, à 16:30

fredr

Re : Liste de Commandes/Fonctions utile sous VIM

Tu peux aussi en remplaçant les vmap par des imap

imap <buffer> <F3> :s:^:% :<CR>
imap <buffer> <F4> :s:^\( *\)% :\1:e<CR>

En insert tu sélectionnes à la souris puis F3 ou F4


Fana du distro hopping, actuellement sur Ubuntu 24.04 avec Regolith Desktop Sway.
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#217 Le 14/04/2009, à 17:03

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

Pour les commentaires de masses, cf les archives (9 pages, c'est peu) vu que c'est un sujet récurrent.

La solution qui scale (je n'ai jamais su le traduire en français ça..), ce sont des plugins comme EnhancedCommentify, ou NerdComment (ou un nom comme ça, j'utilise le premier depuis très longtemps maintenant, et il me suffit)

EDIT: @fred, ton mapping ne va pas fonctionner: tu ne quittes pas le mode d'insertion.
Et il est améliorable: tu monopolises 2 combos au lieu d'une seule (la présence d'un commentaire, c'est très booléen), et il faut toujours préférer les *noremap aux *map -- parfois il y a des gens qui ont la saugrenue idée de détourner <esc> ou :.

Dernière modification par Luc Hermitte (Le 14/04/2009, à 17:08)

Hors ligne

#218 Le 14/04/2009, à 17:05

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

Quand je le test, ça me met [C] ou [D] (pour f3 ou f4) ... sad
Pourtant je ne les map jamais ces touches je sais pas comment les forcer à faire ce que je veut ...

#219 Le 14/04/2009, à 17:10

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

Luc Hermitte a écrit :

Pour les commentaires de masses, cf les archives (9 pages, c'est peu) vu que c'est un sujet récurrent.

La solution qui scale (je n'ai jamais su le traduire en français ça..), ce sont des plugins comme EnhancedCommentify, ou NerdComment (ou un nom comme ça, j'utilise le premier depuis très longtemps maintenant, et il me suffit)

@fred, ton mapping ne vas pas fonctionner: tu ne quittes pas les mode d'insertion.
Et il est améliorable: tu monopolises 2 combos au lieu d'une seule (la présence d'un commentaire, c'est très booléen), et il faut toujours préférer les *noremap aux *map -- parfois il y a des gens qui ont la saugrenue idée de détourner <esc> ou :.

Sauf que je suis pas douée en anglais, et débutante en vim, je comprend pas comment s'utilise EnhancedCommentify. C'est du faite que je débute je souhaitais rendre plus simple et abordable mon vim, j'ai presque tout pour l'instant sauf ça ...

Je veut bien plus d'infos en français si possible sur comment utiliser EnhancedCommentify par contre.

#220 Le 14/04/2009, à 17:32

fredr

Re : Liste de Commandes/Fonctions utile sous VIM

Luc Hermitte a écrit :

Pour les commentaires de masses, cf les archives (9 pages, c'est peu) vu que c'est un sujet récurrent.

La solution qui scale (je n'ai jamais su le traduire en français ça..), ce sont des plugins comme EnhancedCommentify, ou NerdComment (ou un nom comme ça, j'utilise le premier depuis très longtemps maintenant, et il me suffit)

EDIT: @fred, ton mapping ne va pas fonctionner: tu ne quittes pas le mode d'insertion.
Et il est améliorable: tu monopolises 2 combos au lieu d'une seule (la présence d'un commentaire, c'est très booléen), et il faut toujours préférer les *noremap aux *map -- parfois il y a des gens qui ont la saugrenue idée de détourner <esc> ou :.

Je ne sais pas pq il ne fonctionnerait pas... il fonctionne sans soucis chez moi.... en Insert, je sélectionne à la souris, je fais F3 F4 et je reste en insert...

Qu'il soit améliorable cela est sur, mais pour le faire avec un booleen cela dépasse mes compétences en vim....

Fred

PS: ceci est sans doute plus correct, mais je seche sur le booleen

inoremap <buffer> <F3> <esc>:s:^:# :<CR>i
inoremap <buffer> <F4> <esc>:s:^\( *\)# :\1:e<CR>)i

Fana du distro hopping, actuellement sur Ubuntu 24.04 avec Regolith Desktop Sway.
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#221 Le 14/04/2009, à 17:41

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

Dans le code que tu as donné plus haut, il manquait le <esc> ou autre <c-\><c-n>.
Sinon, pour réaliser une commande qui bascule l'état, il faut interroger l'état courant de chaque ligne pour appliquer la commande adéquate en conséquence. Cela se fait plutôt avec des fonctions. Et quand on veut gérer tous les langages possibles, et autres cas particuliers (p.ex. les commentaires à la C et autre Pascal), cela donne des plugins comme EnhCommentify.

Sinon, chibie, as-tu récupéré le plugin ? ou pas encore ?
Une fois fait et déployé (avec :so % si c'est un vimball, ou avec gz+tar si c'est un tar.gz, ...) la bascule est normalement [*] sur \x et \c

[*] j'utilise une version que je me suis patchée il y a un moment pour basculer sur <m-x> ou <m-c>.

Hors ligne

#222 Le 14/04/2009, à 20:18

fredr

Re : Liste de Commandes/Fonctions utile sous VIM

Je pense que je vais adopter nerdcommander http://www.vim.org/scripts/script.php?script_id=1218 il a une fonction "toggle" et l'on peut facilement modifier le fichier .vim pour mapper "toggle" sur F3 (ou autre).

Je n'ai pas trouvé d'équivalent sur EnhancedCommentify.

Fred


Fana du distro hopping, actuellement sur Ubuntu 24.04 avec Regolith Desktop Sway.
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#223 Le 15/04/2009, à 08:29

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

Ce qui m'embête un peu c'est pourquoi f3 ou f4 me font des [D] ou autre ... ?
Sinon je vais voir de plus près vos deux plugins ... j'vous dirais si je m'en sort ou pas ...

#224 Le 15/04/2009, à 08:47

fredr

Re : Liste de Commandes/Fonctions utile sous VIM

Salut,

Si il font des ... c'est qu'il ne sont pas mappés correctement, si tu tapes la commande :map, vois-tu tes F3 dans la liste?

Pour rappel dans ton  fichier ~/.vimrc F3 et F4 doivent être écrits :

imap <F3> .......

Fred

PS: fais un

cat ~/.vimrc

pour voir si ton .vimrc est correct.


Fana du distro hopping, actuellement sur Ubuntu 24.04 avec Regolith Desktop Sway.
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#225 Le 15/04/2009, à 09:59

Chibie

Re : Liste de Commandes/Fonctions utile sous VIM

fredr a écrit :

Salut,

Si il font des ... c'est qu'il ne sont pas mappés correctement, si tu tapes la commande :map, vois-tu tes F3 dans la liste?

Pour rappel dans ton  fichier ~/.vimrc F3 et F4 doivent être écrits :

imap <F3> .......

Fred

PS: fais un

cat ~/.vimrc

pour voir si ton .vimrc est correct.

Justement dans mon vimrc il n'y a rien avec f3 ou f4 et quand je tappe :map ils n'apparaissent pas non plus c'est pour ça que je comprend pas pourquoi ils ne marchent pas.

" Basics
"-------------------------------------------------------------
set nocompatible    " get out of horrible vi-compatible mode
set background=dark " we are using a dark background
syntax on           " syntax highlighting on
colors elflord      " theme de couleur (pour voir les themes dispo => :colorsheme <tab>)
start               " ouvre vim en mode insert par defaut !

"Utiliser des commandes windows
"-------------------------------------
source $HOME/.vim/mswin.vim
behave mswin


" General
"-----------------------------------------------------------------------------------------
set history=1000             " How many lines of history to remember
set clipboard+=unnamed       " turns out I do like is sharing windows clipboard
set fileformats=unix,dos,mac " support all three, in this order
set viminfo+=!               " make sure it can save viminfo
set iskeyword+=_,$,@,%,#     " none of these should be word dividers, so make them not be
set selectmode=mouse         " active la selection à la souris
set undolevels=150           " undo, pour revenir en arrière
set autoread                 " Quand un fichier est changé en dehors de Vim, il est relu automatiquement


" Vim UI
"--------------------------------------------------------------------------------------------------
set popt+=syntax:y             " Syntax when printing
set showcmd                    " show the command being typed
set linespace=0                " space it out a little more (easier to read)
set wildmenu                   " turn on wild menu
set wildmode=list:longest      " turn on wild menu in special format (long format)
set wildignore=*.dll,*.o,*.obj,*.bak,*.exe,*.pyc,*.swp,*.jpg,*.gif,*.png " ignore some formats
set ruler                      " Always show current positions along the bottom
set cmdheight=1                " the command bar is 1 high
set number                     " turn on line numbers
set numberwidth=4              " If we have over 9999 lines, ohh, boo-hoo
set lazyredraw                 " do not redraw while running macros (much faster) (LazyRedraw)
set hidden                     " you can change buffer without saving
set backspace=indent,eol,start " autorisation du retour arriere
set backspace=2                " make backspace work normal
set whichwrap+=<,>,[,],h,l     " backspace and cursor keys wrap to
set mouse=a                    " use mouse everywhere
set shortmess=atI              " shortens messages to avoid 'press a key' prompt
set report=0                   " tell us when anything is changed via :...
set noerrorbells               " don't make noise
set list                       " we do what to show tabs, to ensure we get them out of my files
set listchars=tab:>-,trail:-   " show tabs and trailing whitespace


" Visual Cues
"--------------------------------------------------------------------------------------
set showmatch       " show matching brackets
set matchtime=5     " how many tenths of a second to blink matching brackets for
set nohlsearch      " do not highlight searched for phrases
set incsearch       " BUT do highlight as you type you search phrase
set scrolloff=5     " Keep 5 lines (top/bottom) for scope
set sidescrolloff=5 " Keep 5 lines at the size
set laststatus=2    " Afficher en permanence la barre d'état (en plus de la barre de commande)
set statusline=%<%f%m\ %r\ %h\ %w%=%l,%c\ %p%%

" Les indentation
"-------------------------------------------------------------------------------------
set smartindent   " smartindent (filetype indenting instead)
set autoindent    " autoindent (should be overwrote by cindent or filetype indent)
set cindent       " do c-style indenting
"set expandtab    " indent invisible
set softtabstop=4 " nombre de tabulation pour l'indentation
set shiftwidth=4  " nombre d'espace pour la tabulation
set tabstop=4     " real tabs should be 4, but they will show with set list on
filetype plugin indent on

" aucun backup
"------------------
set nobackup
set nowritebackup

" foldings
"------------------
set viewdir=$HOME/.vim/saveview/    " repertoire pour sauvegarder les vues
set fdm=indent                      " Repli selon l'indentation
set foldcolumn=2                    " colonne de replis(fold colding)
set foldlevel=100                   " Don't autofold anything
au BufWinLeave *.pl mkview          " sauvegarde automatique des vues ...
au BufWinEnter *.pl silent loadview " ... utile pour les replis manuels


" Dernière ligne en cours d'édition
"------------------------------------------------------------------
if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
  \| exe "normal! g'\"" | endif
endif


" Touche espace pour eteindre les messages alertes
"---------------------------------------------------
noremap <silent> <Space> :silent noh<Bar>echo<CR>


" Quitter plus vite !
"--------------------------
inoremap <c-q> <esc>:q<cr>
vnoremap <c-q> <esc>:q<cr>
nnoremap <c-q> :q<cr>


" Ajouter enlever des commentaires #
"-------------------------------------------------------
inoremap <F6> <esc>:s/^/#/<CR>:silent noh<Bar>echo<CR>i
vnoremap <F6> <esc>:s/^/#/<CR>:silent noh<Bar>echo<CR>i
nnoremap <F6> :s/^/#/<CR>:silent noh<Bar>echo<CR>i
inoremap <F7> <esc>:s/^#//<CR>:silent noh<Bar>echo<CR>i
vnoremap <F7> <esc>:s/^#//<CR>:silent noh<Bar>echo<CR>i
nnoremap <F7> :s/^#//<CR>:silent noh<Bar>echo<CR>


" Place le curseur a l'interieur ...
"------------------------------------
inoremap (( ()<Esc>i
inoremap [[ []<Esc>i
inoremap {{ {}<Esc>i
inoremap {<CR> {<CR>}<Esc>O<Tab>
inoremap "" ""<Esc>i
inoremap '' ''<Esc>i