{{tag>vim}}
= Notes vim
Voir
* [[notes_vimdiff]]
* https://doc.ubuntu-fr.org/vim
* http://david.blanchet.free.fr/vim/doc/fr62017/editing.txt.html
* vim-addon-manager
== Modeline magic
# vim: ai:ts=4:sw=4
# vim: enc=utf-8:nu:ai:si:et:ts=4:sw=4:ft=xdefaults:
# vim: set ai et sts=2 sw=2 tw=80:
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
# YAML
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
vimrc
set modeline
set modelines=5
== vimrc
vimrc
filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" On pressing tab, insert 4 spaces
set expandtab
== Autres
Debian est installé par défaut avec un vim allégé, le apt://vim-tiny
Pour install le vrai apt://vim
apt-get update && apt-get install vim
Lancer le tutorat VIM
vimtutor
Ouvrir plusieurs fichiers simultanément - cote à cote comme avec vimdiff
vim -O fic1.md fic2.md
Ouvrir plusieurs fichiers simultanément - l'une au-dessus des autre
vim -o fic1.md fic2.md
Vim suppression de lignes avec motif
:g/toto/d
u : Undo (Annulez une modif, "édition-précédent")
Ctrl-R: Redo changes (Annulez le annuler précédent)
Display non-printable character
:set list
:set display+=uhex
Commande, trie
:%ls
:%!sort -r
Voir également
$ cat hidden.txt
ab
$ wc --char hidden.txt
5
$ sed 's/\o302\xAD//' hidden.txt > fixed.txt
wc --char fixed.txt
3
File browser
:Ex
for ex(ploring) the file directory.
Alternative
sudo update-alternatives --config editor
== Insérer un caractère spécial comme un espace insécable
Use CTRL + K
Ex with non-breakable space
CTRL + K, ,
== Pb
=== Pb Debian Stretch (Debian 9) Copier-coller ne fonctionne pas avec la souris
Source :
* https://unix.stackexchange.com/questions/318824/vim-cutpaste-not-working-in-stretch-debian-9
* https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled
** Solution : Il suffit de maintenir la touche Shift enfoncée lors de la sélection du texte**
Ou alors pour avoir le même comportement que Debian Jessie :
" In many terminal emulators the mouse works just fine. By enabling it you
" can position the cursor, Visually select and scroll with the mouse.
"if has('mouse')
" set mouse=a
"endif
Correction avec Ansible
- name: bugfix vim
replace:
dest: /usr/share/vim/vim80/defaults.vim
regexp: '^\s+set mouse=a'
replace: '" set mouse=a'
when:
- ansible_os_family == 'Debian'
- ansible_distribution_major_version == '9'
Ou
echo "set mouse-=a" >> ~/.vimrc