윈도우용 editor들을 주로 사용하고, VI는 가끔 읽기, 한두글자 고치기 정도로만 사용했습니다. 그러다 최근 plugin을 비롯해서 다양한 기능을 사용하면서 빠른 속도와 함께 매력을 느끼고 있습니다. 사용하면서 필요한 다양한 Tip들을 정리합니다.

 

  • Search history

사용한 명령어 history는 ESC mode에서 history 명령어를 이용하면 됩니다.

:history

Search history도 확인할 수 있는데 ESC mode에서 다음과 같은 명령어를 입력하면 됩니다.

:history /

혹은

:history search

 

  • Whole word search and etc.

일치하는 단어를 search할 때의 ESC 명령어는 다음과 같습니다.

/\<searching_word\>

'/'로 search를 시작하고, "\<"와 "\>"로 원하는 단어를 감싸면 일치하는 단어를 찾을 수 있습니다.

코드를 보다 보면 "variable =="는 제외하고 ""variable ="만을 찾고 싶을 때가 있었습니다. 그런데, 위의 명령어는 word만 찾기 때문에 space가 포함된 위 내용은 찾을 수 없었습니다. 다양한 방법을 찾아보다가 정규표현식을 조금만 이용해서 아래와 같은 명령어로 "=="가 아닌 "="까지만 찾을 수 있었습니다.

/searching_word =[^=]

정규표현식과 관련해서는 다양한 page들이 있지만 잘 정리된 링크를 소개합니다. (https://hamait.tistory.com/342)

 

  • 코드 indent 자동 정렬

코드의 indent를 자동으로 해주는 프로그램을 찾다가 vi에서도 아래의 ESC mode 명령어로 가능하다는 것을 알았습니다. (https://wookiist.tistory.com/1)

gg=G

Visual mode로 일부 코드를 선택한 후 "="를 입력하면 해당 block에서만 audo indent가 수행됩니다.

 

  • Block의 처음과 끝 이동하기

C언어는 block이 '{'로 시작해서 '}'로 끝나게 됩니다. VI는 똑똑하게도 그 시작과 끝을 알고 있습니다. 이때 Block의 처음과 끝을 이동하고 싶으며, 원하는 '{' 혹은 '}'에 커서를 위치시킨 후 '%'키를 누르면 '{'와 '}'사이를 왔다 갔다 할 수 있습니다.

반응형

'프로그래밍 > Tips & sites' 카테고리의 다른 글

[Obsidian] Google drive와 연동하기  (0) 2022.04.03
[Sites] CRC  (0) 2020.09.12
[Tips] 파워포인트 매크로  (0) 2019.12.28
[Tips] Notepad++  (0) 2019.12.15

문서에서 중복되는 라인을 삭제하는 방법으로 Notepad++을 사용할 수 있습니다만, 해당 링크에 있는 'uniq' 리눅스 명령어를 사용하는 방법도 인상적입니다.

$ cat yourfile | sort | uniq > file_to_save_results
반응형

'프로그래밍 > Linux_commands' 카테고리의 다른 글

[Linux] sed  (0) 2021.07.10
[Linux] find  (0) 2019.12.15
[Linux] grep  (0) 2019.04.24

예전에는 Ultra editor를 사용했습니다. 데이터 정리등을 위해서 매크로 기능을 사용했는데, 프로그래밍하기도 간단했죠. 그러다 유료인 Ultra editor 대신 무료 application을 사용하라는 요청을 받았습니다. Vi도 대안이겠지만, Windows를 주로 사용하다 보니 GUI 지원을 선호해서 Vi 보다는 Notepad++를 선택했습니다. Notepad++에 대한 tips을 정리하면 이후 유용할 것으로 보여 정리하게 되었습니다.

 

  • 중복되는 줄 삭제

reference: https://www.it-swarm.net/ko/notepad%2B%2B/%EB%A9%94%EB%AA%A8%EC%9E%A5%EC%97%90%EC%84%9C-%EC%A4%91%EB%B3%B5-%ED%96%89-%EC%A0%9C%EA%B1%B0/970641118/

 

원래는 Notepad++에서 TextFX plugin을 사용했습니다. 그런데, 윈도우를 64bit로 설치하면서 64bit용 TextFX plugin을 설치했는데도 동작하지 않았습니다. 그러다 링크의 site를 발견했죠.ㅕㅜ

Notepad++이 정규 표현식을 지원하는 줄도 몰랐는데, 단 몇자의 글자로 중복되는 줄을 삭제하는 기능을 사용할 수 있다니 정말 놀랍습니다. 간단한 정규표현식은 공부했습니다만, 여기에 사용하는 정규표현식을 해석하기도 쉽지 않으니, 정규표현식을 자유자재로 사용하는 것은 항상 부럽네요.

 

방법은 reference 링크과 같습니다.

1. Replace 메뉴를 선택 (Ctrl+h)

2. 윈쪽 아래 "Regular express"을 선택하고, "matches new line"도 체크

3. 찾는 문자열에 아래 정규식을 입력

^(.*?)$\s+?^(?=.*^\1$)

4. "찾아서 변경하기" 버튼을 누르면 중복되는 라인이 사라짐

 

반응형

'프로그래밍 > Tips & sites' 카테고리의 다른 글

[Obsidian] Google drive와 연동하기  (0) 2022.04.03
[Sites] CRC  (0) 2020.09.12
[Tips] 파워포인트 매크로  (0) 2019.12.28
[Tips] VIM  (0) 2019.12.17

+ Recent posts