그 때문에 나는 문자열을 반대하려고 'abc defg hij'
된다 'jih gfed cba'
. 내가 생각해 낸 해결책은
join(reverse(split(l:text, '.\zs')), '')
더 우아한 해결책이 있습니까, 아니면 내가 생각 해낸 것을 고수해야합니까?
1
"우아한"의 의미에 따라 다릅니다. 문자열을 뒤집는 전용 내부 함수는 없습니다. 내부 함수에 대한 두 번 이하의 호출로 추가 명령문을 사용하지 않고 수행하는 것도 가능하지 않습니다.
—
Sato Katsura
현재 솔루션은 이미 우아 하고 관용적입니다.
—
romainl
'.'를 건너 뜁니다. 분할 부분에서.
—
Christian Brabandt
@SatoKatsura 실제로 regexp 엔진이 아무것도 일치 할 필요가 없기 때문에 더 효율적이라고 생각합니다. 또한 이것은 문서에서 선호되는 방법입니다.
—
Christian Brabandt
@ChristianBrabandt 설명서에 따르면 옵션이
—
Sato Katsura
split()
없으면 {keepempty}
처음에는 하나의 빈 항목을 제거하고 끝에는 하나의 빈 항목을 제거해야합니다. 현재 목록의 중간에있는 항목을 포함하여 모든 빈 항목을 제거합니다 (필자는 문서화 된 동작보다 유용하지만 그렇지 않을 수도 있습니다). 나는 이것이 최근에 논의되었다고 생각한다 vim_dev
.