VIM命令总结

来源:互联网 发布:tfidf java高效 编辑:程序博客网 时间:2024/06/07 20:43

进入、退出

vim [filename]

esc,:q

esc,:q!



进入命令模式

esc


移动光标(首先要进入命令模式)

h j k l

w e 

0 $

gg G 

num,gg  :num

ctrl+f   ctrl+b


增、删、改、查


a A

o O


x X   (相当于del键、退格键)

d,移动光标  dd


r R (改写光标处字符、进入改写模式)

c,移动光标 (删除指定的内容,并进入插入模式)


/keyword  ?keyword (从当前光标位置向后查找、向后查找)

:[#,#]s/old/new/[g][c] (#,#表示行号范围,不指定表示当前行,1,$表示全部;g表示行中的所有匹配项都替换,否则只替换第一个;c表示替换前询问、确认)

N n 


重复命令

number+command


撤消、重做

u U (撤消上次修改、撤消当前行的所有修改)

ctrl+r (重做)


复制、剪切、粘贴

v,移动光标,[y,d]   

 y,移动光标   yy

p P (粘贴到光标的下一行、所在行)


外部命令

:!shell-command


文件操作

:e[!]  filename (关闭当前文件,载入一个新文件)

:r filename (读取文件,并将文件内容插入当前光标处)

:w

:wq

:w filename (另存为)


自动补全

TAB  ctrl+d


多标签、多窗口

:tabnew [filename]

:tabs

:tabp  :tabn gt gT


:sp [filename] (水平分割)

:vs [filename]  (垂直分割)

ctrl+w,[j|k|h|l]

ctrl+w,ctrl+w


选项配置命令(也可以集中写在~/.vimrc中)

:set [no]ic

:set [no]hlsearch

:set [no]incsearch

:set [no]num

:set tabstoop=4

:set softtabstop=4

:set expandtab

:map <F10>  <ESC>:tabnew<CR>

:nmap <C-d> dd

:nmap <S-y>  yy

:imap ( ()<ESC>i