一、介绍
vim是一个高度可配置的文本编辑器,可以实现高效的文本编辑,它是与大多数UNIX系统一起分发的vi编辑器的改进版本。
二、vim工作模式(常用3种)
1、正常/普通/命令模式(Command mode):
控制光标的移动,字符、字或行的删除以及对某区段的复制等
2、插入模式(Insert mode):
编辑文本,进行文字输入
3、底行模式(Last line mode):
文件保存或退出,文件替换,查找字符串以及列出行号等
三、命令集
1、命令模式命令集
移动光标:
- h或←键 :光标向左移动一个字符
- j或↓键 :光标向下移动一个字符
- k或↑键 :光标向上移动一个字符
- l或→键 :光标向右移动一个字符
- gg :将光标移动到文件首行
- G :将光标移动到文件末尾行
- nG :移动到这个文件的第 n 行(可配合 :set nu)
搜索替换:
- /word :在光标之下寻找一个名称为 word 的字符串
- ?word :在光标之上寻找一个名称为 word 的字符串
- n :重复前一个搜寻的动作
- N :反向进行前一个搜寻动作
- :n1,n2s/word1/word2/g :在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2
- :1,$s/word1/word2/g :从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
- :1,$s/word1/word2/gc :从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 ,且在取代前显示提示字符给用户确认是否需要取代
删除、复制以及粘贴:
- x :在一行字当中,向后删除一个字符(相当于 [Delete] 按键)
- X :在一行字当中,向前删除一个字符(相当于 [Backspace] 亦即是退格键)
- nx :连续向后删除 n 个字符
- dd :删除光标所在行(本质为剪切)
- ndd :从光标所在行开始向下删除 n 行数据
- yy :复制光标所在行
- nyy :从光标所在行开始向下复制 n 行数据
- p :在光标所在行的下一行粘贴
- P :在光标所在行的上一行粘贴
- u :撤销
- Ctrl+r :反向撤销
2、命令模式切换到插入模式命令集
- i :从目前光标所在处输入
- I :在目前所在行的第一个非空格符处开始输入
- a :从目前光标所在的下一个字符处开始输入
- A :从光标所在行的最后一个字符处开始输入
- o :在目前光标所在的下一行处输入新的一行
- O :在目前光标所在处的上一行输入新的一行
- s :删除光标所在字符,然后开始输入
- Esc键 : 退出插入模式,回到命令模式中
3、命令模式切换到底行模式命令集
- :w :保存
- :q :退出
- :wq :保存退出
- :q! :若曾修改过文本,但不想保存,则进行强制退出
- :!command :暂时离开 vim 在指令行模式下执行 command
- :set nu :显示行号
- :set nonu :取消行号