ex와 마지막으로 일치하는 줄을 찾는 방법은 무엇입니까?

ex와 마지막으로 일치하는 줄을 찾는 방법은 무엇입니까?

ex명령은 $다음으로 이동합니다.첫 번째마지막 줄의 문자입니다. 따라서 역방향 검색을 수행하면 현재 행을 건너뜁니다. ex정규식을 사용 하여 마지막 문자로 이동 하거나 마지막 문자를 검색하려면 어떻게 해야 합니까?

예:

$ cd -- "$(mktemp --directory)"
$ printf '%s\n' foo bar foo bar > test.txt
$ ex -c '$' -c '?bar' -c 'visual' test.txt

이 시점에서 커서는 예상대로 4행이 아닌 2행에 있습니다. ex -c '?bar' -c 'visual' test.txt래핑할 때 마지막 행을 찾고 싶어도 을 사용하면 동일한 결과가 생성됩니다( vim그렇습니다).

빔 7.3을 사용합니다.

답변1

ex에서처럼 보인다마지막line - ex -c '1' -c '?bar' -c 'visual' test.txt커서를 마지막 줄로 이동합니다.

답변2

내 버전에서는 뒤로 검색을 시작하는 것 같습니다 ex.$+1?...뒤쪽에마지막 줄:

sh$ ex -version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jul 12 2010 12:49:33)

sh$ ex -c '$+1?bar' -c visual test.txt

답변3

또 다른 해결책:

ex -c '?bar' -c '/bar' -c 'visual' test.txt

bar기본적으로 '?bar'는 파일의 마지막 줄부터 시작하는 문자열을 검색하지만 마지막 줄 내에서는 검색하지 않습니다. 따라서 bar마지막 행의 첫 번째 행을 클릭하면 /bar올바르게 만들어 bar마지막 행으로 돌아갑니다.

마지막 줄에 문자열이 포함되어 있지 않으면 실패합니다 bar.

관련 정보