#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 '['). par contre merci pour le xml
@Theys: je me sert de ça très souvent
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
Pour les commentaires, déjà discuté, cf message #91 et alentours.
Hors ligne
#204 Le 14/03/2009, à 07:25
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
Ah oui pardon mea culpa!
... fin bon du coup bcw fait pareil en autant de frappes
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 ...
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 ...
#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 ....
(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) ...
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
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
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
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