본문 바로가기
Development/리눅스

vi /vim 편집기 명령어 정리 (단축키 모음 / 목록)

by 버들도령 2023. 6. 28.
728x90

vi /vim 편집기 명령어 정리 (단축키 모음 / 목록)

리눅스의 대표적인 에디터인 vi 편집기의 명령어들에 대해서 정리해보았습니다.

vi 시작 명령어

명령어 설명 예제
vi {파일명} 파일열기, 작성 vi test.txt
vi +{행번호} {파일명} 파일을 열고, 입력한 행으로 커서 이동 vi -100 test.txt
vi +/"{검색 문자열}" {파일명} “문자열”의 처음발생 단어부터 열기 vi -/"adc" test.txt
vi –r {파일명} 손상된 파일 회복 vi -r test.txt
view {파일명} 읽기 전용으로 열기기 view test.txt

수정 파일 열기

"vi {파일명}"명령어로 입력했을 때, 입력한 파일명이 실제 존재 한 경우 파일을 수정.

신규 파일 생성

"vi {파일명}"명령어로 입력했을 때, 입력한 파일명이 실제 존재 하지 않는 경우 파일을 생성.

vi 커서 이동

커서 설명
h (←) 왼쪽으로 커서 이동
j (↓) 아래로 커서 이동
k (↑) 위로 커서 이동
l (→) 오른쪽으로 커서 이동
e 오른쪽 한 단어의 끝 부분으로 커서 이동
w 오른쪽 한 단어의 앞 부분으로 커서 이동
b 왼쪽 한 단어의 앞 부분으로 커서 이동
Enter 한 행 아래로 커서 이동
Back space 한 문자 왼쪽으로 커서 이동
Space Bar 한 문자 오른쪽으로 커서 이동
^ 행의 맨 왼쪽으로 커서 이동
$ 행의 맨 오른쪽으로 커서 이동
H 화면의 맨 위로 이동
M 화면의 중간으로 이동
L 화면의 맨 아래로 이동
숫자G ‘숫자’ 만큼 지정한 줄로 커서 이동
Ctrl + i 한 화면 위로 이동
Ctrl + b 한 화면 아래로 이동
Ctrl + d 반 화면 아래(Down)로 이동
Ctrl + u 반 화면 위(Up)로 이동
Ctrl + e 한 줄씩 위로 이동
Ctrl + y 한 줄씩 아래로 이동

문자, 행 , 삽입 명령어

커서 설명
a 커서 오른쪽에 문자 삽입
A 커서 오른쪽, 행의 끝에 문자 삽입
i 커서 왼쪽에 문자 삽입
I 커서 왼쪽, 행의 처음에 문자 삽입
o 커서 아래에 행 삽입
O 커서 위에 행 삽입
ESC 종료

텍스트 변경 명령어

명령어 설명
cw 단어 변경
cc 행 변경
C 커서 오른쪽의 행 변경
s 커서가 위치한 문자열 대체
S 커서가 위치한 라인의 문자열 대체
r 커서 위치 문자를 다른 문자로 대체
r-Enter 행 분리
J 현재 행과 아래 행 결합
xp 커서 위치 문자와 오른쪽 문자 교환
~ 문자형(대, 소문자) 변경
u 이전 명령 취소
U 행 변경 사항 취소, 이전의 최종 행 취소
. 이전 최종 명령 반복

텍스트 삭제 명령어

명령어 설명
x 커서가 있는 문자 삭제
nx 커서가 있는 위치부터 n개의 문자를 삭제
dw 현재 커서에 있는 한 단어 삭제
dd 커서가 있는 라인 삭제
ndd 커서가 있는 라인부터 n개의 라인 삭제
db 커서의 위치에서 거꾸로 한 단어 삭제
D 커서 오른쪽 행 삭제
:5,10d 5~10번째 행 삭제

복사 및 이동 명령어

명령어 설명
yy 커서가 위치한 줄 복사
Y 행 yank 또는 복사
yh 커서의 왼쪽 문자 복사
yl 커서에 위치한 문자 복사
yi 커서가 위치한 줄과 그 아랫줄 복사
yk 커서가 위치한 줄과 그 윗줄 복사
p yank 되거나 삭제된 행 현재 행 위로 삽입
P yank 되거나 삭제된 행 현재 행 아래에 삽입
:1,2 co 3 1~2행을 3행 다음으로 복사
:4,5 m 6 4~5행을 6행 위로 이동
  • yank : 홱 잡아당기다

한줄 복사

해당 라인에서 'yy', 즉 y를 두번 누르면 캐시에 저장이 된다.
붙여넣기를 원하는 곳으로 이동하여 'p'를 누르면 커서 다음 라인에 붙여넣기가 된다.

블럭 복사

'v'키를 누른 후 커서를 이동하여 블력을 설정한다.
(putty의 경우 블럭이 설정되는 모습이 보이나, ssh의 경우 블럭 모습이 나타나지 않으나 실제로는 설정되고 있다.)
원하는 부분을 블럭으로 설정한 뒤(설정 완료키는 없다) 'y'키를 누르면 캐시에 복사가 된다.
같은 방법으로 원하는 곳으로 이동하여 'p'를 누르면 커서 다음 라인에 붙여넣기가 된다.

728x90

행 번호 설정 명령어

명령어 설명
:set nu 또는 :set number 에디터의 각 행의 좌측에 행 번호 표시.
:set nonu 에디터의 각 행의 좌측 행 번호 숨기기

행 찾기 명령어

명령어설명

명령어 설명
G 파일의 마지막 행으로 가기
21G 파일의 21번째 행으로 가기
Ctrl + G 현재 File name과 커서의 라인 정보

탐색 및 대체 명령어

명령어 설명
/{검색할 문자열} 오른쪽 아래 방향으로 문자열 검색
?{검색할 문자열} 왼쪽 위 방향으로 문자열 검색
n 문자열의 다음으로 계속 검색
N 문자열의 이전으로 계속 검색
:g/search-string/s/ 각 발생 탐색 후 확인하고 대체
:s/string/rep 현재 행의 str을 rep로 대체
:1,.s/string/rep/ 1부터 현재 행의 str을 rep로 대체
:%s/string/rep/g 파일 전체 str을 rep로 전부대체
:.$/aaa/bbb 커서의 위치로부터 파일의 끝까지 있는 모든 aaa를 bbb로 대체

화면 정리 명령어

명령어 설명
Ctrl + l 불필요한 화면정리 후 다시 표시

파일 명령어

명령어 설명 예제
:r {파일명} 커서 다음에 파일 삽입 :r test.txt
:{행번호} r {파일명} 입력한 파일을 입력한 행번호 다음에 삽입 :10 r test.txt

보관 및 종료 명령어

명령어 설명
:w 변경사항 저장
:w {파일명} 변경사항 입력한 파일명으로 저장
:wq 변경사항 보관 후 vi 종료. ZZ 명령과 같음. :w(기록)과 :q(종료) 를 연속적으로 수행.
ZZ 변경사항 보관 후 vi 종료. 임시 버퍼의 내용을 vi로 호출할때 사용되었던 파일에 기록한 후 vi를 빠져나옴.
:q! 변경사항 보관하지 않고 종료
q 수정한 파일을 저장하지 않고 vi 종료
e! 수정한 것을 무시하고 다시 편집상태로

기타

문자 설명
. 현재 line
% 전체 line
$ 파일 맨끝 line
1,$ %
2,3 2 ~ 3 line

 

 

vi/vim 단축키 (English)

 

vi/vim 단축키 (한글)

 

이동에 편리한 단축키

 

키보드 모양의 명령어 단축키
vi/vim lesson 1 - various commands
vi/vim lesson 2 - various commands
vi/vim lesson 3 - various commands
vi/vim lesson 4 - various commands
vi/vim lesson 5 - various commands

 

vi/vim lesson 6 - various commands
vi/vim lesson 7 - various commands

출처 : http://www.viemu.com

 

ViEmu: vi-vim editor emulation for Visual Studio, Word, Outlook and SQL Server

ViEmu Vi/vim emulation forVisual Studio, SQL Server, Word & Outlook Emulatingthe one true editorsince 2005! <!-- XCODE VERSION DISCONTINUED :( ViEmu for Xcode The full power of vi/vim inside Xcode. Learn more... Commands, operators, motions, macros... Code

www.viemu.com


VIM - main help file
help.txt        For Vim version 7.4.  Last change: 2012 Dec 06

                        VIM - main help file
                                                                         k
      Move around:  Use the cursor keys, or "h" to go left,            h   l
                    "j" to go down, "k" to go up, "l" to go right.       j
Close this window:  Use ":q<Enter>".
   Get out of Vim:  Use ":qa!<Enter>" (careful, all changes are lost!).

Jump to a subject:  Position the cursor on a tag (e.g. bars) and hit CTRL-].
   With the mouse:  ":set mouse=a" to enable the mouse (in xterm or GUI).
                    Double-click the left mouse button on a tag, e.g. bars.
        Jump back:  Type CTRL-T or CTRL-O (repeat to go further back).

Get specific help:  It is possible to go directly to whatever you want help
                    on, by giving an argument to the :help command.
                    It is possible to further specify the context:
                                                        help-context
                          WHAT                  PREPEND    EXAMPLE
                      Normal mode command      (nothing)   :help x
                      Visual mode command         v_       :help v_u
                      Insert mode command         i_       :help i_<Esc>
                      Command-line command        :        :help :quit
                      Command-line editing        c_       :help c_<Del>
                      Vim command argument        -        :help -r
                      Option                      '        :help 'textwidth'
  Search for help:  Type ":help word", then hit CTRL-D to see matching
                    help entries for "word".
                    Or use ":helpgrep word". :helpgrep

VIM stands for Vi IMproved.  Most of VIM was made by Bram Moolenaar, but only
through the help of many others.  See credits.
------------------------------------------------------------------------------
                                                doc-file-list Q_ct
BASIC:
quickref        Overview of the most common commands you will use
tutor           30 minutes training course for beginners
copying         About copyrights
iccf            Helping poor children in Uganda
sponsor         Sponsor Vim development, become a registered Vim user
www             Vim on the World Wide Web
bugs            Where to send bug reports

USER MANUAL: These files explain how to accomplish an editing task.

usr_toc.txt     Table Of Contents

Getting Started
usr_01.txt  About the manuals
usr_02.txt  The first steps in Vim
usr_03.txt  Moving around
usr_04.txt  Making small changes
usr_05.txt  Set your settings
usr_06.txt  Using syntax highlighting
usr_07.txt  Editing more than one file
usr_08.txt  Splitting windows
usr_09.txt  Using the GUI
usr_10.txt  Making big changes
usr_11.txt  Recovering from a crash
usr_12.txt  Clever tricks

Editing Effectively
usr_20.txt  Typing command-line commands quickly
usr_21.txt  Go away and come back
usr_22.txt  Finding the file to edit
usr_23.txt  Editing other files
usr_24.txt  Inserting quickly
usr_25.txt  Editing formatted text
usr_26.txt  Repeating
usr_27.txt  Search commands and patterns
usr_28.txt  Folding
usr_29.txt  Moving through programs
usr_30.txt  Editing programs
usr_31.txt  Exploiting the GUI
usr_32.txt  The undo tree

Tuning Vim
usr_40.txt  Make new commands
usr_41.txt  Write a Vim script
usr_42.txt  Add new menus
usr_43.txt  Using filetypes
usr_44.txt  Your own syntax highlighted
usr_45.txt  Select your language

Making Vim Run
usr_90.txt  Installing Vim


REFERENCE MANUAL: These files explain every detail of Vim.      reference_toc

General subjects
intro.txt       general introduction to Vim; notation used in help files
help.txt        overview and quick reference (this file)
helphelp.txt    about using the help files
index.txt       alphabetical index of all commands
help-tags       all the tags you can jump to (index of tags)
howto.txt       how to do the most common editing tasks
tips.txt        various tips on using Vim
message.txt     (error) messages and explanations
quotes.txt      remarks from users of Vim
todo.txt        known problems and desired extensions
develop.txt     development of Vim
debug.txt       debugging Vim itself
uganda.txt      Vim distribution conditions and what to do with your money

Basic editing
starting.txt    starting Vim, Vim command arguments, initialisation
editing.txt     editing and writing files
motion.txt      commands for moving around
scroll.txt      scrolling the text in the window
insert.txt      Insert and Replace mode
change.txt      deleting and replacing text
indent.txt      automatic indenting for C and other languages
undo.txt        Undo and Redo
repeat.txt      repeating commands, Vim scripts and debugging
visual.txt      using the Visual mode (selecting a text area)
various.txt     various remaining commands
recover.txt     recovering from a crash

Advanced editing
cmdline.txt     Command-line editing
options.txt     description of all options
pattern.txt     regexp patterns and search commands
map.txt         key mapping and abbreviations
tagsrch.txt     tags and special searches
quickfix.txt    commands for a quick edit-compile-fix cycle
windows.txt     commands for using multiple windows and buffers
tabpage.txt     commands for using multiple tab pages
syntax.txt      syntax highlighting
spell.txt       spell checking
diff.txt        working with two to four versions of the same file
autocmd.txt     automatically executing commands on an event
filetype.txt    settings done specifically for a type of file
eval.txt        expression evaluation, conditional commands
fold.txt        hide (fold) ranges of lines

Special issues
print.txt       printing
remote.txt      using Vim as a server or client
term.txt        using different terminals and mice
digraph.txt     list of available digraphs
mbyte.txt       multi-byte text support
mlang.txt       non-English language support
arabic.txt      Arabic language support and editing
farsi.txt       Farsi (Persian) editing
hebrew.txt      Hebrew language support and editing
russian.txt     Russian language support and editing
ft_ada.txt      Ada (the programming language) support
ft_sql.txt      about the SQL filetype plugin
hangulin.txt    Hangul (Korean) input mode
rileft.txt      right-to-left editing mode

GUI
gui.txt         Graphical User Interface (GUI)
gui_w16.txt     Windows 3.1 GUI
gui_w32.txt     Win32 GUI
gui_x11.txt     X11 GUI

Interfaces
if_cscop.txt    using Cscope with Vim
if_lua.txt      Lua interface
if_mzsch.txt    MzScheme interface
if_perl.txt     Perl interface
if_pyth.txt     Python interface
if_sniff.txt    SNiFF+ interface
if_tcl.txt      Tcl interface
if_ole.txt      OLE automation interface for Win32
if_ruby.txt     Ruby interface
debugger.txt    Interface with a debugger
workshop.txt    Sun Visual Workshop interface
netbeans.txt    NetBeans External Editor interface
sign.txt        debugging signs

Versions
vi_diff.txt     Main differences between Vim and Vi
version4.txt    Differences between Vim version 3.0 and 4.x
version5.txt    Differences between Vim version 4.6 and 5.x
version6.txt    Differences between Vim version 5.7 and 6.x
version7.txt    Differences between Vim version 6.4 and 7.x
                                                sys-file-list
Remarks about specific systems
os_390.txt      OS/390 Unix
os_amiga.txt    Amiga
os_beos.txt     BeOS and BeBox
os_dos.txt      MS-DOS and MS-Windows NT/95 common items
os_mac.txt      Macintosh
os_mint.txt     Atari MiNT
os_msdos.txt    MS-DOS (plain DOS and DOS box under Windows)
os_os2.txt      OS/2
os_qnx.txt      QNX
os_risc.txt     RISC-OS
os_unix.txt     Unix
os_vms.txt      VMS
os_win32.txt    MS-Windows 95/98/NT
                                                standard-plugin-list
Standard plugins
pi_getscript.txt Downloading latest version of Vim scripts
pi_gzip.txt      Reading and writing compressed files
pi_netrw.txt     Reading and writing files over a network
pi_paren.txt     Highlight matching parens
pi_tar.txt       Tar file explorer
pi_vimball.txt   Create a self-installing Vim script
pi_zip.txt       Zip archive explorer

LOCAL ADDITIONS:                                local-additions

------------------------------------------------------------------------------
bars            Bars example

Now that you've jumped here with CTRL-] or a double mouse click, you can use
CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.

Note that tags are within | characters, but when highlighting is enabled these
characters are hidden.  That makes it easier to read a command.

Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim
will try to find help for it.  Especially for options in single quotes, e.g.
'compatible'.

------------------------------------------------------------------------------
 vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:
728x90

댓글