텍스트 파일이 있어요..
value #value2
value2 #value3
...
-f로 정렬하고 # 앞에 두 개의 탭을 추가하고 싶어서 이렇게 했습니다.
:'<,'>norm f#i^I^I |!sort -f
그러나 나에게 나쁜 결과를 제공합니다! 두 개의 별도 명령을 사용하는 해결 방법을 알고 있습니다.
:'<,'>norm f#i^I^I^I
:'<,'>!sort -f
하지만 문제는 이 명령을 파이프로 연결할 수 있느냐는 것입니다.
답변1
좀 찾아보면 :help :normal
알게 될 거야
"|"는 명령의 일부로 간주되므로 이 명령 뒤에는 다른 명령이 올 수 없습니다.
또한 이는 |
파이프라인이 아닙니다. 이는 명령을 "연결"하는 한 가지 방법일 뿐입니다. 두 개의 쉘 명령을 ;
. 따라서 한 명령에 적용된 범위는 후속 명령에 적용되지 않습니다.
사용자 정의 기능이나 이와 유사한 기능을 포함하지 않는 가장 가까운 대안은 다음을 사용 :substitute
하고 범위를 다시 지정하는 것입니다.
:'<,'>s/#/\t\t\t#/ | '<,'> !sort -f