String Functions
Vim에는 string을 다루는 수많은 빌트인 함수들이 있다. 여기에서는 그 중 가장 중요한 몇몇개만 다뤄볼 것.
Length
string의 length는 strlen
으로 표현한다. string에서는 len
도 동일하게 작동하는데 이후에 len
에 대해서 다룰 예정
:echom strlen("foo")
3
:echom len("foo")
3
Splitting
다음 split
예시를 따라해보자 (echom
대신에 echo
를 사용한 이유는 list를 반환하기 때문. list도 책의 이후 장에서 다룰 예정이라고 한다.)
:echo split("one tow three")
['one', 'two', 'three']
기본으로 split의 separator로 "whitespce"를 사용하고 지정하는 것도 가능하다.
:echo split("one,two,three", ",")
['one', 'two', 'three']
Joining
split 뿐만 아니라 string을 합치는 것도 가능. (리스트 문법은 지금은 신경쓰지 말자)
:echo join(["foo", "bar"], "...")
foo...bar
split
과 join
은 함께 사용하기 좋다
:echo join(split("foo bar"), ";")
foo;bar
Lowerand Upeer Case
:echom tolower("Foo")
foo
:echom toupper("Foo")
FOO
파이썬 등 대부분의 언어에서는 case-insensitive 비교를 하기 위해 string을 소문자로 바꾸는 일이 일반적이다. 하지만 vim에서는 case-insensitive
비교 연산자가 있기 때문에 그럴 필요가 없다. (관련 내용은 Comparisons 포스트 참고)
Exercise
- Run :echo split('1 2') and :echo split('1,,,2', ','). Do they behave the same?
:echo split('1 2')
['1', '2']
:echo split('1,,,2', ',')
['1', '', '', '2']
Read :help split().
Read :help join().
Read :help functions and skim the list of built-in functions for ones that mention the word "String". Use the / command to make it easier (remember, Vim's help files can be navigated like any other kind of file). There are a lot of functions here, so don't feel like you need to read the documentation for every single one. Just try to get an idea of what's available if you need it in the future.
'tools > vim' 카테고리의 다른 글
Learn Vimscript The Hard Way - 29. Normal (0) | 2020.04.06 |
---|---|
Learn Vimscript The Hard Way - 28. Execute (0) | 2020.04.05 |
Learn Vimscript The Hard Way - 26. String (0) | 2020.04.03 |
Learn Vimscript The Hard Way - 25: Numbers (0) | 2020.04.02 |
지수 표기법 (Exponential notaion) feat. vim: e+01, e-01 (4) | 2020.04.01 |