vi가 리눅스의 편집기를 말하는 거라면 관련이 없습니다.
우선 디버깅을 잘 하려면 문제의 범위를 좁혀나갈 수 있는 추론 능력과 사고력이 바탕이 되어야 한다고 생각합니다. 이 능력을 키우려면 알고리즘 문제를 만히 풀거나 구현해 보는 방법이 있을 수 있을 것 같네요.
그 다음에는 디버깅 도구를 잘 활용할 수 있도록 익히는 것입니다. IDE 라고 불리는 통합 개발툴에 포함된 디버깅 도구라고 보면 될 것 같습니다. 예를 들면 Visual Studio, IntelliJ, Eclipse, PyCharm, XCode 등이 있겠네요. 연습하려면 아무래도 여러가지 예제를 가지고 프로그래밍을 많이 해 보는 방법이 있겠지요.