Description du problème
Dans le mode commande de vim, comment simplifier les commandes complexes fréquemment utilisées ? S'agit-il simplement de concevoir des touches de raccourci ?
J'utilise souvent une commande de remplacement : 0,$s/t/ /g pour remplacer la touche de tabulation par 4 espaces.
Pour les fichiers nouvellement créés, j'ai déjà fait la configuration dans le fichier de configuration. C'est juste que la touche de tabulation apparaît souvent dans les fichiers d'autres personnes.
.
Je dois le remplacer à chaque fois.
Ma question
- Je ne suis pas très familier avec les touches de raccourci de configuration de vim. Puis-je utiliser les touches de raccourci Comment le définir ? Utiliser les touches de raccourci pour remplacer : 0, $s/t/ /g Commandes communes ?
Est-il possible de convertir automatiquement le fichier lors de son ouverture dans vim, de sorte que vous n'ayez même pas besoin de définir des touches de raccourci ?
-
Solution
Tout d'abord, je tiens à remercier les intervenants ci-dessous. Sur la base de leurs explications et de la lecture des documents d'aide, j'ai finalement trouvé une méthode qui me semble raisonnable
.
Les touches de raccourci sont tout à fait possibles, mais vous devez vous souvenir des touches de raccourci. Pour mon problème actuel, je choisis la conversion automatique.
- .
Première
:help ret
vérifiez le document. Ce que je veux dire ici, c'est que lors du remplacement, faites attention à remplacer les caractères \t
dans la chaîne du programme. :help ret
查看文档, 这里我想说的是, 替换的时候, 小心替换程序中字符串中的\t
Consultez le document, rien de plus à dire.
:help auto
Affichez le fichier .vimrc Il y a déjà une partie dans le fichier vimrc.
if has("autocmd")
Cette commande de remplacement automatique, BufRead et BufReadPost sont identiques. Veuillez noter ici : options de mode, il est préférable de ne pas utiliser *, en particulier quel type de fichier remplacer, écrivez le suffixe pour éviter le remplacement accidentel de fichiers dans d'autres. formats autocmd BufRead *.cpp,*.h :ret
Cette commande de remplacement remplace uniquement le contenu du cache Buf. S'il n'y a pas de modification ou de sauvegarde, il ne sera pas écrit. Si vous quittez directement, s'il n'y a pas de modification, vim ne vous demandera pas de sauvegarder, et le la touche de tabulation existera toujours C'est inoffensif.
Enfin, merci encore aux répondants ci-dessous. Bonne année.
Commençons par quelques conseils :
Maintenant que vous avez déjà une opération, il est très simple de définir une touche de raccourci pour cette opération. Par exemple, définissez la touche de raccourci surnnoremap <Leader>ts:0,$s/t/ /g<CR>, probablement
<Leader>ts
en mode normal --l'opération de touche de raccourci de mode sur laquelle vous souhaitez que la touche de raccourci soit mappée
.<Leader>ts
--nnoremap <Leader>ts :0,$s/t/ /g<CR>
, 大概是希望快捷键映射的模式 快捷键 操作
。第二个可以使用
autocmd BufRead * :%ret! 4<CR>
, 将整个文件的 tab 转换成 space,每个 tab 用 4 个 space 替代. ret 指的是 replace tab, 更多内容可以:help ret
,:help autocmd
,:help event
,:help BufRead
autocmd BufRead * :%ret! 4<CR>
pour convertir les tabulations du fichier entier en espaces, et remplacer chaque tabulation par 4 espaces ret fait référence à replace tab , pour plus d'informations, veuillez visiter:help ret
,:help autocmd
,:help event
,:help BufRead
. 🎜 🎜 🎜vim a une commande appelée
:retab
(je m'en souviens peut-être mal, mais cela devrait être la même), qui peut convertir les tabulations en espaces. Vous pouvez consulter l'aide associée. Si vous l'utilisez fréquemment, vous pouvez la lier à une clé. .L'éditeur le plus génial au monde : Vim 1 (tous les exemples de démonstration d'animation originale) http://www.imooc.com/article/...
Vous pouvez complètement personnaliser les touches de raccourci, il suffit de bien jouer à .vimrc