다음과 같은 명령을 작성하려고 합니다.
vim -c "XXXXXX" myFile
"XXXXX" 이외의 몇 가지 명령을 vim에 제공하고 싶습니다. 정확한 줄 번호를 지정하거나 다른 경우에는 특정 줄을 검색한 다음 위 줄.
내가 원하는 것은 코드 블록이나 스크립트 내의 함수에 줄을 추가할 수 있는 깔끔한 "추가"입니다. 궁극적으로 내 목표는 약 12개의 시스템 파일을 변경하는 설치 스크립트를 만드는 것입니다.
이상적으로는 -c 플래그만 포함하고 이상적으로는 일반 모드 명령을 이해할 수 있는 사람이 읽을 수 있어야 합니다. 내 머리 속 초기 생각은 "ggjjjiInsertingOnLine4:wq"
일반 모드로 들어갈 수 있게 되면 이 작업을 수행하는 것이었습니다.
답변1
명령줄 범위를 사용하여 편집해야 하는 특정 줄을 선택할 수 있습니다. 그런 다음 대체 모드를 사용하여 편집(추가)을 수행할 수 있습니다.
예를 들어, 3행의 시작 부분에 "hi"라는 텍스트를 추가하려면 다음을 수행하십시오.
vim -c "3 s/^/hi/" -c "wq" file.txt
3행 끝에 "hi"라는 텍스트를 추가하려면 다음을 수행하세요.
vim -c "3 s/$/hi/" -c "wq" file.txt
더 많은 옵션과 설명을 찾으려면:
vim -c "help cmdline-range"
더 많은 예시
검색 문자열 "hi"를 찾아 3행에 "everyone" 문자열을 추가하려면 다음을 수행하세요.
vim -c "3 s/\(hi\)/\1 everyone/" -c "wq" file.txt
검색 문자열 "hi"를 찾고 라인 3에 "say" 문자열을 추가하려면 다음을 수행하십시오.
vim -c "3 s/\(hi\)/say \1/" -c "wq" file.txt
줄 번호를 알 수 없는 경우 각 줄에 "hi"라는 문자열이 처음 나타나는 부분을 추가하고 "all"을 추가합니다.
vim -c "1,$ s/\(hi\)/\1 all/" -c "wq" file.txt
각 줄에 "hi" 문자열을 모두 추가하려면 "all"을 사용합니다.
vim -c "1,$ s/\(hi\)/\1 all/g" -c "wq" file.txt
교체에 대한 추가 정보:
vim -c "help substitute"