문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
vim:tips [2016/05/19 23:20] kwon37xi [Script / command 실행] |
vim:tips [2021/05/13 08:39] (현재) kwon37xi [커서 중앙 유지] |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Vim Tips ====== | ====== Vim Tips ====== | ||
| * [[http:// | * [[http:// | ||
| + | * [[http:// | ||
| ===== 현재 파일의 인코딩 변경 ===== | ===== 현재 파일의 인코딩 변경 ===== | ||
| 줄 57: | 줄 58: | ||
| : | : | ||
| </ | </ | ||
| + | |||
| + | ===== 매칭되는 줄 삭제 ===== | ||
| + | < | ||
| + | :g/word/d | ||
| + | </ | ||
| + | |||
| + | 정확히 word 가 단어로써 존재하는 경우만 삭제하려면 | ||
| + | < | ||
| + | : | ||
| + | </ | ||
| + | |||
| + | ===== 첫번째 단어 삭제 ===== | ||
| + | < | ||
| + | : | ||
| + | </ | ||
| + | * '' | ||
| + | * '' | ||
| ===== 그 외 줄 삭제 ===== | ===== 그 외 줄 삭제 ===== | ||
| 줄 115: | 줄 133: | ||
| Ctrl-V 는 insert 모드에서만 작동한다. | Ctrl-V 는 insert 모드에서만 작동한다. | ||
| + | |||
| + | ===== 명령행 문자열 replace ===== | ||
| + | * command line / shell script 로 vim 명령을 실행하려면 '' | ||
| + | * '' | ||
| + | <code sh> | ||
| + | vi -c " | ||
| + | |||
| + | #혹은 | ||
| + | vi -c " | ||
| + | </ | ||
| + | |||
| + | ===== 정렬후 중복 제거 sort / remove duplicates ===== | ||
| + | < | ||
| + | :sort u | ||
| + | </ | ||
| + | |||
| + | ===== 조건적 치환 ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * '' | ||
| + | * 아래 치환문은 '' | ||
| + | : | ||
| + | </ | ||
| + | * 산술 연산< | ||
| + | : | ||
| + | </ | ||
| + | |||
| + | ===== root 권한 파일 저장 ===== | ||
| + | * 일반 사용자로 root 권한 디렉토리의 파일을 편집하고 저장할 때 에러가 나면 | ||
| + | * '': | ||
| + | |||
| + | ===== 숫자/ | ||
| + | * [[https:// | ||
| + | * '' | ||
| + | * '' | ||
| + | * vertical block('' | ||
| + | * 알파벳도 증가시키기 | ||
| + | <code sh> | ||
| + | :set nrformats+=alpha | ||
| + | </ | ||
| + | |||
| + | ===== 커서 중앙 유지 ===== | ||
| + | * 화면상에서 커서 위치가 항상 화면 중앙에 오게 하는 방법 | ||
| + | * [[https:// | ||
| + | * '' | ||
| + | * '' | ||
| + | * ''< | ||
| + | <code vim> | ||
| + | nnoremap < | ||
| + | </ | ||
| + | * 최종 | ||
| + | |||
| + | < | ||
| + | set scrolloff=0 " 원하는 값으로 수정 | ||
| + | if !exists(' | ||
| + | augroup VCenterCursor | ||
| + | au! | ||
| + | au OptionSet *,*.* | ||
| + | \ if and( expand("< | ||
| + | \ | ||
| + | \ au! VCenterCursor WinEnter, | ||
| + | \ endif | ||
| + | augroup END | ||
| + | function VCenterCursor() | ||
| + | if !exists('# | ||
| + | let s: | ||
| + | let & | ||
| + | au VCenterCursor WinEnter, | ||
| + | \ let & | ||
| + | else | ||
| + | au! VCenterCursor WinEnter, | ||
| + | let & | ||
| + | endif | ||
| + | endfunction | ||
| + | endif | ||
| + | |||
| + | nnoremap < | ||
| + | </ | ||
| + | |||
| + | ===== 참조 ===== | ||
| + | * [[http:// | ||
| + | |||
| + | |||