Vim은 시각적 블록 모드에서 기본 줄을 삭제하지 않습니다.

Vim은 시각적 블록 모드에서 기본 줄을 삭제하지 않습니다.

vim에서 다음을 누르세요.Ctrl+V시각적 차단 모드로 들어갈 수 있습니다. 이동하여 여러 행을 선택할 때h, j, k 및 l을 누른 다음 삭제 키를 사용하세요.d 또는 D, 이것텍스트는 제거되지만 그 아래 줄은 그대로 남아 있습니다.

이는 텍스트가 사라지더라도 주변 코드의 간격이 여전히 넓다는 것을 의미합니다.

줄+텍스트를 제거하는 방법이 있나요?

답변1

당신이 선택하고 싶다면철사프로그레시브 비주얼 모드( V)를 사용합니다. 당신이 선택하고 싶다면수치캐릭터 비주얼 모드( v)를 사용하세요. 직사각형 블록을 선택하려면 블록 시각적 모드( Ctrl-V)를 사용하세요.

보이는 직사각형 블록 삭제확실히행을 삭제합니다. 이는 예상된 동작입니다. 행을 시각적으로 선택하고 삭제하려면 행별 시각적 모드( )를 사용하고 및(또는 아래쪽 화살표 및 위쪽 화살표)를 사용하여 V행을 선택한 다음 을 눌러 삭제합니다.jkd

답변2

자동 명령에서 이 기능을 사용하고 있으며 파일을 저장하기 전에 공백과 빈 줄을 제거합니다.

" Removes trailing whitespace and blank lines leaving 1 blank line between functions.

function! TrimWhitespace()

    " skip these filetypes
    if (&ft=='markdown' || &ft=='help')
        return
    endif
    let l:save = winsaveview()
    " remove whitespace
    %s/\s\+$//e
    " remove blank lines
    %s/\(\s*\n\)\{3,}/\r\r/ge
    call winrestview(l:save)
endfunction

command! TWs call TrimWhitespace()

" this autocmd is called when any of the following files is saved

" edit filetypes as needed.

au BufWritePre *.c,*.sh,*.h,*.vim,*.vimrc,*.txt,*.local,.*rc,.*profile :TWs

관련 정보