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, <SPACE>, <SPACE>

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 :

/usr/share/vim/vim80/defaults.vim

" 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