사용자 도구

사이트 도구


vim:tips

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
vim:tips [2020/04/30 10:23]
kwon37xi
vim:tips [2021/04/10 13:06]
kwon37xi
줄 136: 줄 136:
 ===== 명령행 문자열 replace ===== ===== 명령행 문자열 replace =====
   * command line / shell script 로 vim 명령을 실행하려면 ''-c'' 옵션 사용   * command line / shell script 로 vim 명령을 실행하려면 ''-c'' 옵션 사용
-  * ''%%--%%not-a-term'' 옵션을 주면 terminal 이 아닌 경우에도 문제 없이 실행되는 듯. [[:packer|Packer]] 등에서 사용시 옵션 필요.+  * ''%%--%%not-a-term'' 옵션을 주면 terminal 이 아닌 경우에도 문제 없이 실행되는 듯. [[devops:packer|Packer]] 등에서 사용시 옵션 필요.
 <code sh> <code sh>
 vi -c "%s/hello/world/g" -c "wq" test.txt vi -c "%s/hello/world/g" -c "wq" test.txt
줄 151: 줄 151:
 ===== 조건적 치환 ===== ===== 조건적 치환 =====
   * [[https://stackoverflow.com/questions/17337979/conditional-replace-in-vim|vi - Conditional replace in vim - Stack Overflow]]   * [[https://stackoverflow.com/questions/17337979/conditional-replace-in-vim|vi - Conditional replace in vim - Stack Overflow]]
-  * 아래 치환문은 ''%%"'%%'' 를 찾아서 ''"'' <-> ''%%'%%'' 상호 치환한다. +  * [[https://www.popit.kr/vim-%EC%B9%98%ED%99%98-%EA%BC%BC%EC%88%98/|VIM 치환 꼼수? | Popit]] 
-<code>+  * ''submatch(0)''은 검색결과의 전체를 의미함 
 +  * 아래 치환문은 ''%%"'%%'' 를 찾아서 ''"'' <-> ''%%'%%'' 상호 치환한다.<code>
 :s/["']/\=submatch(0) == '"' ? "'" : '"'/g :s/["']/\=submatch(0) == '"' ? "'" : '"'/g
 </code> </code>
 +  * 산술 연산<code>
 +:%s/[01]$/\=submatch(0) == '0' ? submatch(0) + 100 : submatch(0) * 10/g
 +</code>
 +
 +===== root 권한 파일 저장 =====
 +  * 일반 사용자로 root 권한 디렉토리의 파일을 편집하고 저장할 때 에러가 나면
 +  * '':w !sudo tee %'' 명령으로 강제 저장이 가능하다.
 +
 +===== 숫자/알파벳 증가시키기 =====
 +  * [[https://www.youtube.com/channel/UCa0tJguRNbU6I8OO3nUvXxQ|(1) Incrementing a Sequence | Vim 🔥 Tips and Tricks - YouTube]]
 +  * ''Ctrl+A'' 숫자/문자를 1씩 증가시킴
 +  * ''Ctrl+X'' 숫자/문자를 1씩 감소시킴
 +  * vertical block(''Ctrl+V 혹은 Ctrl+Q'') 상태에서 ''g'', ''Ctrl+A/X'' 누르면 세로 블럭의 숫자나 문자가 증가함
 +  * 알파벳도 증가시키기
 +<code sh>
 +:set nrformats+=alpha
 +</code>
 +
 +===== 참조 =====
 +  * [[http://zzapper.co.uk/vimtips.html|Best of VIM Tips, gVIM's Key Features zzapper]]
 +
  
vim/tips.txt · 마지막으로 수정됨: 2021/05/13 08:39 저자 kwon37xi