h커서 키(및)를 사용하여 탭을 가로지르면 l커서가 탭 위로 이동하지 않고 한 번에 한 칸씩 이동합니다. 거기에 탭이나 공백이 있는지 확실하지 않기 때문에 이것은 짜증나는 일입니다. 내가 기대하는 것은 탭 위로 이동하면 커서가 탭의 시작 부분(가장 왼쪽 위치)에 있어야 하고, 오른쪽으로 한 칸 이동하면 탭 다음의 첫 번째 문자로 이동해야 한다는 것입니다.
이 동작을 어떻게 달성할 수 있습니까?
사용하고 있으니 참고해주세요 visualedit=all
.
답변1
(존재하지 않음) virtualedit
대신에 말씀하시는 것 같은데요 ?visualedit
virtualedit
이 옵션은 가능한 커서 위치에 대한 탭 처리를 정의하므로 일반 모드에서 비활성화 해야 합니다 . 대신 all
다른 모든 값을 함께 사용하십시오.
:set virtualedit=insert,block,onemore
vim
문서 에서 :help 'virtualedit'
:
'virtualedit' 've' string (default "")
A comma separated list of these words:
block Allow virtual editing in Visual block mode.
insert Allow virtual editing in Insert mode.
all Allow virtual editing in all modes.
onemore Allow the cursor to move just past the end of the line
Virtual editing means that the cursor can be positioned where there is
no actual character. This can be halfway into a tab or beyond the end
of the line. Useful for selecting a rectangle in Visual mode and
editing a table.
virtualedit=all
이 설명으로는 점프탭 부분 외에는 불가능해 보입니다.
이를 달성하는 한 가지 가능한 방법은 키를 다시 매핑 h
하고 l
일반 모드에서 탭을 명시적으로 건너뛰고 virtualedit=all
.