public override VimPoint Move(Interfaces.IVimHost host) { if (host.IsCurrentPositionAtStartOfLine()) { return host.CurrentPosition; } VimPoint bak = host.CurrentPosition; for (int i = 0; i < this.Repeat; i++) { do { if (host.IsCurrentPositionAtStartOfLine()) { host.MoveCursor(bak); return host.CurrentPosition; } host.CaretLeft(); char ch = host.GetCharAtCurrentPosition(); if (ch == _toSearch) { break; } } while (true); } host.CaretRight(); return host.CurrentPosition; }