TIL (Today I Learned)/Linux
[Linux]ctags ์ฌ์ฉ๋ฒ
loki d
2021. 7. 22. 22:56
728x90
ctags
- ํ๋ก๊ทธ๋๋ฐ ์์ค์ฝ๋์ ํ๊ทธ (์ ์ญ๋ณ์ ์ ์ธ, ํจ์ ์ ์, ๋งคํฌ๋ก ์ ์ธ)๋ค์ Database(tags file)๋ฅผ ์์ฑํ๋ Unix ๋ช ๋ น์ด
- ํจ์ ๋ฐ ๋ณ์์ ์์น๋ฅผ ์ฝ๊ฒ ์ธ์ํ ์ ์๋ ์ธ๋ฑ์ค๋ฅผ ๋ง๋๋ ์ ํธ๋ฆฌํฐ
- ctags๋ฅผ ์ด์ฉํ๋ฉด ์์ค์ฝ๋ ๋ด์์ ํจ์๋ ๋ณ์๊ฐ ์ ์ธ๋ ๊ณณ์ผ๋ก ์ด๋ํ ์ ์๊ธฐ ๋๋ฌธ์ Vim ๋ฐ emacs์ ๊ฐ์ ์๋ํฐ์์ ํน์ ์ฌ๋ฒ์ ์ฐพ๊ณ ์ ํ ๋ ์ฃผ๋ก ์ฌ์ฉ
ctags์ ์ฅ์
- ctags๋ฅผ ์ฌ์ฉํ๋ฉด ์์ค ์ฝ๋๋ฅผ ๋ถ์ํ๊ธฐ๊ฐ ์ฉ์ดํด ์ง๊ธฐ ๋๋ฌธ์, ์ปค๋๊ณผ ๊ฐ์ ํฐ ํ๋ก์ ํธ์ ์์ค๋ฅผ ๋ถ์ํ ๋ ์์ฃผ ์ ์ฉํ๋ค.
ctags ์ค์น
$ ctags -help
๋ก ํ์ฌ ์ค์น ๋์ด์๋์ง ํ์ธ ๊ฐ๋ฅ$ sudo apt-get install ctags
๋ก ์ค์น๊ฐ๋ฅ
ctags ์์ฑ
$ ctags ํ์ผ์ด๋ฆ
(์ฌ๋ฌ๊ฐ์ ํ์ผ ์ง์ ๋ ๊ฐ๋ฅ) ex)$ ctags filename1 filename2 filename3
$ ctags -R
๋ช ๋ น์ด๋ก ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ๊ณผ, ํ์ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ๊น์ง tag๋ฅผ ์์ฑํ๋ค.
ctags ์ฌ์ฉ๋ฒ
$ vi tags
๋จ์ถํค๋ฅผ ์ฌ์ฉํ ์ด๋
- ์ ์ธ์ผ๋ก ์ด๋
- Ctrl + ]
:tj
- ์ด์ ์ํ๋ก ์ด๋
- Ctrl + t
:po
์ถ์ฒ [๋ฉ๋ฉ๋ฉ ๋ธ๋ก๊ทธ]