GUI환경에서는 gedit 와 같은 편리한 텍스트 에디터들이 있으므로 텍스트 파일을 만들거나 편집할 경우에 이런 툴을 이용할 수 있다. 그리고 프로그래밍할 때는 IDE를 이용하면 된다. 하지만 쉘 기반의 텍스트 에디터를 사용할 수밖에 없는 경우도 발생하게 되는데 예를 들어서 원격으로 접속한 경우이다. 이런 경우 리눅스에는 vi (혹은 vim) 라는 텍스트 편집기가 많이 사용되지만 처음에는 그 사용법을 익히기가 어려운 편이다.
간단한 작업을 할 경우에는 nano를 사용하면 CLI 환경에서 더욱 간단하게 텍스트 파일이나 프로그램 파일을 작성하고 편집할 수 있다. 기본적으로 설치되어 있으므로 터미널에서 nano라고 입력하거나 nano filename 을 입력하면 실행된다.
[표 1] nano 실행 명령어 예제들
실행 명령 | 동작 |
nano memo.txt | memo.txt를 편집하기 위해 open한다. |
nano -B memo.txt | save 직전에 이전 파일을 ~.filename으로 백업한다. |
nano -m memo.txt | cursor 이동을 위해 mouse를 사용한다. (지원시) |
nano +83 memo.txt | 83 번째 줄부터 편집한다. |
나노가 실행되면 바로 편집할 수 있는 상태로 진입하게 된다.
[그림 1] 터미널에서 nano의 실행 화면
편집 모드에서는 기본적으로 상하좌우 방향키로 caret을 이동시킬 수 있으며, del, backspace, enter 키 사용이 가능하다. ctrl+g를 눌러 도움말을 볼 수 있다.
다음은 단축키 목록이다. 이 중 잘라내기/복사/붙이기 키는 잘 알아두어야 편집할 때 매우 유용하다.
[표 2] 기본 명령(단축키)들
단축키 | 동작 |
ctrl+g (F1) | 도움말 표시 |
ctrl+x (F2) | nano 종료 (혹은 현재의 file buffer를 닫음) |
ctrl+o (F3) | 현재 편집 중인 파일 저장 |
ctrl+j (F4) | 문단을 justify(행의 끝을 나란히 맞추다)한다. 즉, 한 문단을 한 줄로 붙인다. |
ctrl+r (F5) | 현재 file에 다른 file의 내용을 추가한다. |
ctrl+w (F6) | text 검색 |
ctrl+c (F11) | 현재의 cursor 위치 표시하기 |
ctrl+t (F12) | spell check 시작 |
ctrl+\ | search and replace |
다음 표는 편집에 관련된 단축키들이다.
[표 3] 잘라내기/복사/붙여넣기에 관련된 단축키들
단축키 | 동장 |
ctrl+k (F9) | 현재의 line 혹은 선택된 text 삭제(그리고 저장(copy)) |
ctrl+u (F10) | 붙여넣기 (paste) |
ctrl+6 | 현재 cursor 위치부터 text 선택 시작. 이후 alt+6로 복사 후 선택 종료. 아니면 다시 ctrl+6를 입력하면 (복사 없이)단순 종료. |
alt+6 | 선택 구간 복사. 선택 구간이 없다면 현재 caret 이 있는 한 줄을 복사. 이후 ctrl+u 로 붙여넣기 할 수 있음, |
다음 표는 화면 이동과 관련된 키들이다. 선택 모드일 경우 이동한 만큼 선택이 추가/삭제된다.
[표 4] 화면 이동과 관련된 단축키들
단축키 | 동작 |
PageUP 또는 ctrl+y (F7)PageDown 또는 ctrl+v (F8) | 이전 화면다음 화면 |
alt+(alt+) | 현재 문단의 시작으로현재 문단의 끝으로 |
alt+=alt+- | 한 줄 밑으로 스크롤한 줄 위로 스크롤 |
ctrl+spacealt+space | 한 단어 앞으로한 단어 뒤로 (GUI모드가 아닐 경우) |
alt+\alt+/ | file의 첫 line으로file의 마지막 line으로 |
alt+] | 현재 괄호에 match되는 괄호 찾기 |
ctrl+- | 줄 번호와 열을 입력한 후 그곳으로 이동 |
'맥,리눅스,윈도' 카테고리의 다른 글
라즈비언에서 taskbar를 실수로 삭제했을 때 복구하는 법 (0) | 2016.10.22 |
---|---|
맥북에서 home/end/pageUp/pageDown 키 (0) | 2016.10.21 |
리눅스의 입출력 재지정(redirection) (1) | 2015.06.02 |
리눅스의 쉘 명령어들 : 기타 (0) | 2015.06.02 |
리눅스의 쉘 명령어 : alias/unalias (0) | 2015.06.02 |