간단히 수행하여 파일에 쓸 수 있다는 것을 알고 있습니다 :w <file>
. 덮어 쓰지 않고 파일을 추가하여 파일에 쓰는 방법을 알고 싶습니다.
사용 사례의 예 : 일부 샘플을 로그 파일에서 다른 파일로 가져오고 싶습니다. 오늘 그것을 달성하기 위해 나는 할 수 있습니다 :
- 로그 파일을 엽니 다
- 로 몇 줄을 선택하십시오
Shift+v
- 파일에 쓰기 :
:w /tmp/samples
- 라인을 더 선택하십시오
Shift+v
- 추가하는
/tmp/samples
과:w !cat - >> /foo/samples
불행히도 5 단계는 길고 추악하며 오류가 발생하기 쉽습니다 ( >
데이터를 잃어 버리게됩니다). Vim이 여기에 더 좋은 것이 있기를 바랍니다.
답변
보낸 사람 :h :w
:
:w_a :write_a E494
:[range]w[rite][!] [++opt] >>
Append the specified lines to the current file.
:[range]w[rite][!] [++opt] >> {file}
Append the specified lines to {file}. '!' forces the
write even if file does not exist.
당신은 비주얼 모드를 사용하여 텍스트를 선택한 경우에 따라서, 단지 할 :w >> /foo/samples
( :'<,'>
자동 붙을). 를 놓치면 >
Vim이 다음과 같이 불평합니다.
E494: Use w or w>>
답변
함수를 정의하십시오.
fun! App(filename)
exec "w !cat - >> " . shellescape(a:filename)
endfunc
함수를 호출하십시오.
call App('/foo/samples')