리눅스 기초 (3-3) vim editor(패키지)
### vim 의 바이너리 종류
##1. vi, vim, vimx
기능은 vimx > vim > vi 순으로 vimx가 많은 기능을 가졌다.
##2. vim 패키지
여러 vim 패키지들이 있으나 , enhanced vim이 주로 사용하는 패키지이다.
enhanced vim을 사용하는 RedHat 계열에선 vim-enhanced 패키지가 Debian 계열에선 vim-nox 가 있다.
모두 명령어는 vim 이다.
##3. Alias
alias 는 c/cpp에서 typedef 와 동일한 기능이다. 별명을 붙여주는 기능이다.
alias 별명붙일 target파일이름=별명(alias)
=은 2개 이름 사이에서 떨어지면 안됨!
unalias 별명 // 별명해제
alias 를 설정하는건 사진과 같다. man su 의 별명을 ms로 설정하고 ms 입력시 man su 가이드라인에 들어가진다.
다시 해제하는 명령(unalias ms) 을 타이핑 시 ms 를 찾을 수 없다고 한다.
일반 유저의 경우 alias vi=vim 으로 기본 설정되있지만, root는 별개이다. 이에 alias를 설정해줘도 되는데, alias 무시하고 vi를 실행시키고 싶다면 \vi(앞에 역슬래시) 를 타이핑 하면 vi 에디터로 들어가게 된다.
##4 vimx
1) clipboard 기능 여부 확인
X window 환경에서 vim과 클립보드 공유 가능한지 확인하려면 vim --version으로 clipboard, xterm_clipboard 기능이 있는지 확인해야한다.
+로 되있으면 설치한 vim이 해당 기능을 지원해준다는것이다.
+와 - 를 통해 vim을 컴파일 할 때 어느 기능을 넣었고, 어느 기능을 빼먹었는지 확인 가능하다.
grep name 은 name이라고 문자열이 포함되는 파일을 찾는 명령어다.
** The grep filter searches a file for a particular pattern of characters, and displays all lines that contain that pattern.
-geeks for geeks-
2) 기능이 존재해도 설정을 해야 사용이 가능하다!
vim ~/.vimrc
타이핑하여 위 25라인~27라인 타이핑 통해 설정을 하자.
확인 하는 방법은 vimx 와 gedit 통해 서로 복사 붙여넣기가 호환 이 되는지 로 확인 할 수 있다.
gedit 을 타이핑하면 gedit 창이 뜨는데 여기서 문장을 ctrl c를 눌러 복사하여 터미널창에 붙여넣기(shift + Insert) 해준다.
터미널에선 특정 문장 복사(ctrl+Insert) 해서 gedit에 ctrl v 를 눌러 붙여넣기 해준다.
(참고로 gedit 틀면 해당 터미널창은 gedit으로 사용이 안되고, 새로 ctrl +Alt +t 를 눌러 터미널창을 만들어서 실습을 해야한다)
### vim의 옵션
- vimrc 옵션들
- colorscheme 색상
##1. 명령행 모드: 옵션설정
#1. vim/.vimrc 파일에 설정할 수 있는 기능들은 어디에서 볼까?
명령어 | 설명 |
:set | 현재 옵션 설정 보여줌(vimrc) |
:set all | 모든 옵션 설정 버여줌 |
:set [no]name | name에 해당하는 옵션 on/off함 (no는 off 의미) |
:set name! | name 옵션의 on, off를 토글 |
:set name=value | name 옵션에 value의 값 할당. |
:set 입력시 필자가 vimrc에서 설정한 옵션들이 보여진다.
:set all 입력 시 옵션이 no가 있는 경우(빨강) 와 없는경우(보라색) , 명령어에 특정 값(문자/값 )이 할당되는 걸 볼 수 있다.
#2 명령어모드: 옵션 설정
옵션 | 설명 |
set: nu | (number) 화면에 행번호 표시 |
set: rnu | (relativenu) 현재 행 기준으로 상하의 상대적 행번호 표시 |
set: ai | (autoindent) 자동 들여쓰기 |
set: cindent | C언어 스타일의 들여쓰기 |
set: ts=value | (tabstop) 화면에 표시될 탭 크기를 value로 지정 |
set: sw=value | (shiftwidth) 자동 블록 이동시 열의 너비 |
set: fencs=value | (fileencodings) 지원할 파일 인코딩 방식 리스트 * 복수개 지정시 콤파로 구분(공백없음) |
set: fenc=value | (fileencoding) 현재 파일 인코딩 방식을 지정 |
몇몇은 vimrc에서 이미 설정을 했던걸로 볼수 있다. 내가 필요로 하는 기능들은 vimrc에서 설정하거나 임시로 즉각 필요한 경우라면 vim내 명령어 모드에서 위 기능들을 적용하면된다.
set: sw=4
set: nu
...........
중괄호 만날 때 자동 들여쓰기, 중괄호 끝날때 자동 들여쓰기 빼주는 기능
vimrc 에서 설정시 vim ./vimrc 타이핑 후 아래와 같이 원하는 기능 타이핑하면된다.
jlim@jlim-vm:~$ vim ./.vimrc
# colorscheme 지원
vim 명령어 모드에서
둘중 하나 하면 테마컬러 선택 가능하다.
:colorscheme <tab>
:colo <tab>
해당 내용은 프로그래머스 리눅스 강의 김선영 선생님의 강의를 들으며 기록했습니다.