2010-09-24 14 views
17

est-il possible de supprimer tous les caractères sur la même ligne que le curseur, jusqu'au curseur? par exemple, je pourrais avoir une ligne de code qui ressemble à ce qui suit:vim: efface tous les caractères d'espaces jusqu'à mon curseur

foo = [cursor]    Bar.new 

Si mon curseur se trouve sur le support de place au-dessus, est-il possible de supprimer tous les caractères espaces (? sans utiliser regex) de sorte que Bar .new est placé au curseur?

+4

Vous posez deux questions distinctes ... Voulez-vous supprimer des espaces menant au curseur, ou des espaces commençant à partir de votre curseur jusqu'au prochain caractère non-espace? –

+1

il aurait dû lire * de mon curseur jusqu'au début du mot suivant *, je pense –

Répondre

8

Sur la base de votre exemple, la réponse de Neall est correcte. Toutefois, en fonction de votre question initiale,

est là de toute façon à supprimer tous les caractères sur la même ligne que le curseur , tout le chemin jusqu'à le curseur?

vous taperez d

En fait, vous posez une troisième question dans votre titre ... supprimer tous les caractères blancs jusqu'à le curseur. Celui-là je ne sais pas comment faire sans regex. dge enlèverait tous les caractères d'espace vers l'arrière jusqu'à un espace non vide, mais supprimerait également le premier caractère non blanc.

+0

Pas tout à fait aussi propre, puisque vous devez connaître le caractère que vous supprimez, mais la suppression de la = pourrait être accomplie avec 'dT ='. ** D ** elete en arrière- '** T ** il ** = ** –

6

Pas tout à fait ce que vous voulez, mais peut-être diw contribuerait - dans l'exemple ci-dessus, il supprimerais tous l'espace entre le = et le Bar. Peut-être ciwespace vous donnerait le résultat que vous cherchez?

7

dtB

supprimera tout caractère jusqu'à, mais sans inclure le 'B'