概述
#vim 文件名——//如果文件存在直接打开文件,如果文件不存在,则会创建一个文件
#vim 文件名——//打开文件光标定位到第一行
#vim + 文件名——//打开文件光标定位到最后一行
#vim +n 文件名——//打开文件光标定位到第n行,n超过最大行数则定位到最后一行
#vim +/imooc 文件名——//光标定位到出现imooc第一行,按n可以在出现imooc的行之间来回切换
#vim 文件名 文件名 文件名——//连续打开多个文件,不存在则创建。
在底行模式中常用命令
:args----显示多文件信息
:next----向后切换文件
:prev----向前切换文件
:first----定位首文件
:last----定位尾文件
Ctrl+^----快速切换到编辑器中切换前的文件
Vi 在初始启动后首先进入命令模式,这时用户可以利用一些预先定义的按键来移动光标、删除文字、复制或粘贴文字等。这些按键均是普通的字符,用户还可以利用一些特殊按键选定文字,然后再进行删除、或复制等操作。
命令模式常用指令:
- h----光标左移
- j----光标下移
- k----光标上移
- l----光标右移
- ctrl+f----向下翻页
- ctrl+b----向上翻页
- ctrl+d----向下翻半页
- ctrl+u----向上翻半页
- x------一个一个地删除光标位置的字符
- dd-----删除光标所在行
- ndd----删除当前行开始的连续n行
- n1,n2d----删除n1到n2行,例如删除1到10行1,10d
- n,$d----删除从某行开始至文本末尾,例如删除第8行至末尾 8,$d
- o-----在光标所在行的下方插入一行,并进入输入模式
- cw----删除当前光标所在单词,并进入输入模式
- c$----删除当前光标到行尾的字符,并进入输入模式
- yy----复制光标所在行
- yw----复制当前光标到单词尾的字符
- y$----复制当前光标到行尾的内容
- y^----复制当前光标到行首的内容
- p(小写)----在光标所在行的下方粘贴
- P(大写)----在光标所在行的上方粘贴
- ^(shift+6)----将光标跳转到本行的行首位置
- $(shift+4)----将光标跳转到本行的行尾位置
- w----将光标跳转到当前光标所在位置的后一个单词的首字母
- b----将光标跳转到当前光标所在位置的前一个单词的首字母
- e----将光标跳转到当前光标所在位置的后一个单词的尾字母
- G---将光标跳转到行尾
- nG---将光标跳转到第n行
- u---取消对整个文本进行的最近一次操作
- U---取消对当前行进行的操作
- ctrl+r----恢复使用u取消的操作
当用户在命令模式下键入 i, a, o 等命令之后,可进入输入模式。在输入模式下,用户随后输入的,除Esc 之外的任何字符均将被看成是插入到编辑缓冲区中的字符。按 Esc 之后,从输入模式切换到命令模式。
- 方向键---上下左右方向移动光标
- Home---快速定位光标到行首
- End---快速定位光标到行尾
- PageUp---进行文本的向上翻页
- PageDown---进行文本的向下翻页
- Backspace---删除光标左侧的字符
- Del---删除光标位置字符
在命令模式下,键入 :、/、? 可进入底行模式。用户就可以键入一些命令,来保存文件、读取文件内容、执行Shell 命令、设置 Vi 参数、以正则表达式的方式查找字符串或替换字符串等。
底行模式常用命令
- :w——执行保存修改保存
- :q——退出当前vim编辑器
- :wq ——保存并退出
- :!——强制执行
- :set nu——显示行号
- :set nonu——去掉行号
- :ls——列出打开的所有文件
- :n——打开后面的一个文件
- :N——打开前面的一个文件
- :15——将光标定位到第15行
- /xxx——从光标位置开始向后搜索,定位到找到的第一个xxx
- ?xxx——从光标位置开始向前搜索,定位到找到的第一个xxx
字符串查找命令
- /word----从上而下在文件中查找字符串
- ?word----从下而上在文件中查找字符串
- n----定位下一个匹配的被查找字符字符串
- N----定位上一个匹配的被查找字符字符串
字符串替换命令
- :s/old/new----将当前行中查找到的第一个字符串“old”替换为“new”
- :s/old/new/g----将当前行中查找到的所有字符串“old”替换为“new”
- :#,#s/old/new/g----在行号“#,#”范围内,将查找到的所有字符串“old”替换为“new”
- :%s/old/new/g----在整个文件范围内,将查找到的所有字符串“old”替换为“new”
- :s/old/new/c----在命令末尾加入c,将对每个替换动作提示用户进行确认