Question Désactiver: définir hlsearch lorsque j'entre en mode INSERT


J'ai défini hlsearch sur mon .vimrc.

Le problème est le suivant: lorsque je trouve ce dont j'ai besoin dans mon document, je veux qu'il désactive automatiquement hlsearch lorsque j'entre en mode insertion pour la chaîne recherchée.

Donc, si j'essaie de chercher une autre chaîne, ça recommence. Ce comportement est bien connu parmi d'autres éditeurs.

Comment fait-on ça?


4
2018-06-24 14:00


origine




Réponses:


désactiver la mise en surbrillance lors de la saisie du mode d'insertion via je:

noremap i :set nohlsearch<CR>i

pour le réactiver en laissant le mode insertion (via ESC):

inoremap <ESC> <ESC>:set hlsearch<CR>

vous pouvez appliquer ces idées à toutes sortes de clés comme une, o etc.

OU

autocmd InsertEnter * :set nohlsearch
autocmd InsertLeave * :set hlsearch

(Bravo pour l’idée de l’événement «InsertEnter»)


7
2018-06-24 15:08



Existe-t-il un événement Vim auquel il serait possible d’ajouter cette configuration pour éviter de configurer les autres clés? - Somebody still uses you MS-DOS
InsertEnter et InsertLeave sont intéressants. Je vais les vérifier. ibm.com/developerworks/linux/library/l-vim-script-5/index.html - Somebody still uses you MS-DOS
vrai, bon point. - akira
Vous voulez probablement aussi utiliser 'setlocal' au lieu de ': set'. Cela fera en sorte que vous ne modifiez pas les paramètres des autres tampons. - Seamus Connor


J'ai trouvé une approche complètement différente, mais c'est EXACTEMENT ce que je cherchais.

:set hlsearch
autocmd InsertEnter * :let @/=""
autocmd InsertLeave * :let @/=""

Ceci définit le registre "dernière recherche"   à la chaîne vide, de sorte que rien   sera mis en évidence. Recherches antérieures   peut encore être rappelé en utilisant le    clé après avoir frappé / ou? et   éventuellement le "début" de la chaîne   être recherché

La source

Merci pour votre réponse Akira, mais cette solution est vraiment élégante à mon avis. Et ça marche, je l'ai testé!


3
2018-06-25 21:26



si ça marche, ça me va. - akira
Cette approche rompt la fonctionnalité "recherche à nouveau" (/ <cr>). - Xilexio