nano vs vim(vi)
Last updated
Last updated
nano와 vim 모두 cli 터미널 기반 편집기입니다. nano는 작업이 간편하고 원하는 것을 편집하는데에 도움이 됩니다. Vim은 유연하며 작업을 더 빠르게 완료하고 더 많은 기능을 원하면 Vim으로의 전환을 고려하면 좋습니다.
vi & vim : 입력모드, 명령모드, 마지막 행 모드
vim은 1991년에 개발된 “Vi” 텍스트 편집기의 개선된 버전으로 “Vi Improved”를 의미합니다.
명령 모드(Command Mode) : 특정 기능을 하는 명령어를 입력하는 모드
i : 삽입 기능을 가진 명령
입력 모드(Insert Mode) :
i (insert) or a : (텍스트 입력 모드) i 혹은 a를 누른 후에는 명령이 아닌 일반 텍스트로 취급.
마지막 행 모드(Last Line Mode)
:(콜론)을 누르면 동작하는 모드를 말함.
w(write, 저장), q(quit, 나가기), 취소(!) 등의 기능이 있다. 저장하지 않고 나가려면 ‘:’ 콜론 이후 ‘q!’ 를 작성하면 된다.
‘:’ 를 누르면 화면 맨 아래에 커맨드 라인이 생기고 그곳에 명령어를 작성하게 동작하기 때문에 ‘마지막 행 모드’ 라는 이름이 붙었다.
→ 즉 vim을 실행하면 명령 모드가 default로 시작된다. i를 통해서 입력모드로, 다시 ESC(혹은 ctrl+c)를 통해서 명령모드로 이동할 수 있다. ‘:’ 을 통해서 마지막 행 모드로, 다시 ESC를 통해서 명령모드로 이동할 수 있다.
vi 명령어
되돌리기 기능
undo : ‘ctrl+z’는 vi환경에서 명령모드일 때 ‘u’키를 눌러서 작업을 되돌릴 수 있다.
redo : ’ctrl + shift + z’ 과 같이 다시 되돌리는 명령은 ‘ ctrl + r’을 사용할 수 있다.
텍스트 검색 기능 : 명령 모드에서 ‘/search_word’ 작성하여 검색.
추가(next) 검색은 ‘n’ 을 눌러서 search_word에 해당하는 것들을 연속하여 검색. (명령모드에서 ‘/search_word’ 후 엔터 후 ‘n’을 통해 연속 검색)
텍스트 교체
검색하여 교체
‘:s/[검색단어]/[교체할문자열]/g’
‘ : ‘ : Ex 명령 모드로 진입하는 접두사.
‘ s ‘ : substitue(대체)의 약자로 검색 후 대체를 수행
‘검색단어’ : 검색하고자 하는 문자열
‘바꿀단어’ : 검색된 문자열을 대체할 문자열
‘g’ : Global의 약자로, 모든 일치 항목을 대체하는 옵션
‘:s/[검색단어]/[교체할문자열]/’ : 현재 행에서 첫번째 검색어를 찾아 교체합니다.
범위 지정 교체
‘:n,m s/[검색단어]/[교체할문자열]/g’ : n행부터 m행까지의 모든 검색어를 찾아 교체합니다.
반복하여 교체 (’c’ 플래그)
‘c’플래그(confirm)를 추가하여 각 교체마다 확인을 받고 사용자가 결정하도록 합니다.
‘:s/[검색단어]/[교체할문자열]/gc’ : 현재 커서가 위치한 라인에서만 검색하여 교체합니다.
‘:%s/[검색단어]/[교체할문자열]/gc’ : 파일 전체 범위에서 검색하여 confirm 후 교체합니다.
이동 명령
w, W : 단어 단위 오른쪽으로 이동,
b, B : 단어 단위 왼쪽으로 이동(back)
e, E : 단어 마지막글자 앞으로 이동
j : 행 아래로
k : 행 위로
) : 다음 문장(다음/아래 행)의 시작점으로 이동
( : 이전 문장(이전/위 행)의 시작점으로 이동
‘ } ’ (다음) , ‘ { ’ (이전) : 문단의 시작점으로 이동
‘ ] ‘ (다음) , ‘ [ ‘ (이전) : 절의 시작점으로 이동
o : command mode에서 ‘o’를 누르면 현재 위치에서 다음줄에 새로운 텍스트를 입력할 수 있는 명령어
텍스트 삽입 명령
i : 커서 자리에 문자열 삽입
a : 커서 다음(우측)자리에 문자열 삽입
I(행의 처음) , A(행의 마지막 끝) : 문자열을 행의 좌측/우측 끝에 삽입 ,
o(아래) , O(위에) : 명령모드가 입력모드로 바뀌면서 아래 혹은 위에 공백이 생김
줄 표시 명령어
:set nu : show line number
nano :
nano는 Pico에서 영감을 받은 간단한 터미널 기반의 텍스트 편집기입니다. Unix 기반 텍스트 편집기는 1989년 워싱턴 대학에서 개발한 Pine 이메일 제품군의 일부였습니다.
이 편집기는 학습 곡선이 적어 사용자 친화적이라고 간주됩니다.
Ctrl + K : 잘라내기
Ctrl + U : 붙여넣기
Ctrl + X : 종료
Ctrl + O : 다른이름으로 저장
Alt + U : 마지막 작업을 취소(ctrl + z 와 같은 기능)
Ctrl + ← : 한 단어 뒤로
Ctrl + → : 한 단어 앞으로
Ctrl + F : 커서를 앞으로 이동( -> )
Ctrl + B : 커서를 뒤로 이동 ( <- )
undo : Esc + U
redo : Esc + E
Ctrl + W : 문자열 검색