해결책

해결책

파일의 모든 세미콜론이 줄의 마지막 문자인 경우 이를 제거하는 대체 명령을 vim에서 찾고 있습니다.

줄 끝에서 세미콜론을 전환하는 다음 명령을 찾았습니다.

nnoremap ;; :s/\v(.)$/\=submatch(1)==';' ? '' : submatch(1).';'<CR>

누구든지 나를 도와줄 수 있나요?

해결책

  • 내가 검색하고 있는 명령은 파일을 저장한 후 수행하려는 대규모 정리의 일부입니다. 완전한 솔루션은 다음과 같습니다

" greenkeeping files " consecutive blank lines: https://unix.stackexchange.com/questions/12812/replacing-multiple-blank-lines-with-a-single-blank-line-in-vim-sed " whitespaces: https://stackoverflow.com/questions/356126/how-can-you-automatically-remove-trailing-whitespace-in-vim " last empty line: https://stackoverflow.com/questions/7495932/how-can-i-trim-blank-lines-at-the-end-of-file-in-vim " last semicolon: https://unix.stackexchange.com/posts/462443 autocmd BufWritePre *.test silent! :%s/\s\+$//e | silent! :%s/\(\n\n\)\n\+/\1/ | silent! :%s#\($\n\s*\)\+\%$## | :%s/;$

답변1

nnoremap ;; :%s/;$//<CR>

여기서 키를 누르면 ;;줄 끝에 있는 normal mode모든 내용( )이 아무것도 없는 내용( )으로 대체 됩니다.;;$//

답변2

세미콜론이 줄의 마지막 문자인 경우 다음 명령을 사용하면 이를 제거합니다.

sed를 사용하여 다음 명령을 시도해 보세요.

sed 's/;*$//g' <file1> file2

관련 정보