일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- network
- client
- wargame
- 모인유럽서포터즈
- 프랑스 교환학생
- 해외송금
- EPITA
- FTZ
- 모인해외송금
- Linux
- 백도어
- rootme
- 해킹
- pwnable.kr
- 네트워크해킹
- 해커스쿨
- 리눅스
- WebHacking
- 유로송금
- pwnable
- 루트미
- 보안
- 프랑스교환학생
- Gentoo
- 웹해킹
- 포너블
- Challenge
- 모인유럽송금
- 프랑스송금
- web
- Today
- Total
Securing Keys
[vim] 리눅스 텍스트 에디터 vi 초기 설정하기 본문
Linux 운영체제에서 터미널 사용을 주로 하는 사용자라면, 필연적으로 vim 툴을 이용하게 된다. vim은 리눅스의 텍스트 편집기 (Text Editor) 중 하나로, 가장 대표적인 텍스트 에디터라고 볼 수 있다. 그렇기 때문에 *nix (유닉스 기반 운영체제) 사용자이거나 관리자이거나 혹은 개발자라면 vim을 계속해서 사용할 수 밖에 없다.
vim을 계속 사용할 예정이라면, 당연히 우리 입맛에 맞게 설정을 해놓아야 한다.
vim의 환경설정은 .vimrc 파일에서 할 수 있는데, 처음부터 .vimrc 파일이 존재하는 것은 아니기 때문에 이를 생성하고 거기에 설정값을 넣는 방식으로 초기 설정을 진행해야 한다.
vim의 환경설정 파일인 .vimrc 파일은 반드시 사용자의 홈디렉토리에 존재해야 한다.
따라서 홈디렉토리(~)로 이동한 후, 그곳에 .vimrc 파일을 생성해주도록 하겠다.
※ 만약 vim 소프트웨어가 깔려있지 않을 때엔 sudo apt-get install vim 을 통해 vim 소프트웨어를 설치해야 한다
cd ~
vi .vimrc
생성된 .vimrc 파일은 아무것도 없는 빈 페이지이다. 따라서 우리가 여기에 필요한 설정값들을 입력해주어야 한다.
이때 설정값을 입력하는 데에는 정답이랄 것이 없으며, 사용자의 취향에 맞게 넣을 설정값들은 넣고, 필요 없는 설정값들은 빼면 된다.
나는 위와 같이 vim 설정을 마쳤다
1. Line Number
set nu
혹은
set number
각 줄의 맨 앞에 붙는 숫자를 의미한다. 이 설정으로 내가 몇번째 라인에 위치하고 있는지 쉽게 확인이 가능하고, 임의의 라인으로 이동할 때에 숫자를 통해 쉽게 이동이 가능하다. 뿐만 아니라 프로그래밍 시에도 어디서 에러가 났는지 바로 찾을 수 있어 필수적인 환경설정이라고 본다.
2. Indent
set ai
set si
set cindent
각각 ai는 auto indent, si는 smart indent, cindent는 c style indent를 의미한다.
이 부분은 개발할 때에 자동으로 들여쓰기를 해주는 등의 역할을 하여 vim을 개발할 때에 사용한다면 필요한 환경설정이다.
3. Tab
set sts=4
set ts=4
set shiftwidth=4
set wmnu
sts=4 설정은 tab을 눌렀을 때 space 4칸으로 입력하겠다는 의미이고,
ts=4 설정은 \t를 출력할 때에 space 4칸으로 출력하겠다는 의미이며,
shiftwidth=4 설정은 자동 들여쓰기를 space 4칸으로 지정하겠다는 의미이다.
그리고 wmnu을 설정하면, tab을 눌렀을 때 자동완성이 가능한 목록을 보여준다.
4. Status
set laststatus=2
이는 status line과 관련한 설정이다
만약 laststatus=0 으로 설정할 시에는 status line을 보여주지 않고,
laststatus=1 로 설정 시에는 2개 이상의 window가 생긴 경우에만 보여주고,
laststatus=2 이면 항상 status line을 보여준다는 설정이다.
5. Search
set ignorecase
set hlsearch
ignorecase 설정은 검색할 때에 대소문자를 무시하고 검색해주며 (좀 더 폭넓게)
hlsearch는 검색 시에 하이라이트를 해주는 기능이다
6. Cursor
set nocompatible
set ruler
set mouse=a
nocompatible 설정은 방향키로 이동을 가능하게 해주고,
ruler 설정은 상태 표시줄에 커서의 위치를 표시하게 해주며,
mouse=a로 설정을 하면 커서 이동을 마우스로도 가능하게 해준다
7. Language
set fileencodings=utf-8,euc-kr
set fencs=ucs-bom,utf-8,euc-kr
fileencodings 설정은 말 그대로 파일을 저장할 때 인코딩을 어떻게 할 것인가에 대한 설정값이다.
fencs 설정은 파일을 읽어들일 때 적혀진 순서대로 파일 읽기를 시도하는 설정값이다.
8. Development
set showmatch
syntax on
filetype indent on
showmatch 설정은 우리가 주로 보는 IDE처럼 매칭되는 괄호를 보여주는 설정이고,
syntax on 설정은 문법 하이라이트를 켜주는 설정이다 (이때 vim-gui-common 패키지가 반드시 설치되어 있어야 한다)
filetype indent on 설정은 파일의 종류 (확장자)에 따라 구문을 강조해주는 설정이다.
이들은 모두 vim을 이용하여 개발할 때에 유용한 설정값들이다.
9. 그 외
set bs=indent,eol,start
set title
bs는 backspace를 의미하는 것으로, 이를 사용 가능하게 해주고,
set title을 통해 제목이 표시되게 할 수 있다.
'IT > Linux' 카테고리의 다른 글
[Linux] pwnable.kr collision 풀이 (0) | 2022.04.02 |
---|---|
[Linux] pwnable.kr fd 풀이 (0) | 2022.04.02 |
[FTZ] Level 4: xinetd.d 내 서비스를 이용한 백도어 (0) | 2020.08.30 |
[FTZ] Level 3 응용: 항상 접근 가능한 백도어 쉘 만들기 (0) | 2020.08.30 |
[FTZ] Level 3: SUID가 걸린 함수에 인자 전달로 명령 실행 (0) | 2020.08.30 |