vim的3种模式:
<1> 命令模式
vim 文件名,就进入了命令模式。退出命令模式,可以在未行模式中输入q,可以使用以下命令
- dd:删除一行
- u:撤回
- yy:复制一行
- P:小写的p,将复制的行粘贴在光标所在行的下一行
- P:大写的p,将复制的行粘贴在光标所在行的上一行
- x:删除光标所在处字符(按着不动,先删光标后面,在删前面)
- r:替换光标所在处字符
- ZZ:保存退出
<2> 输入模式
(i、I、a、A,就进入了输入模式。退出输入模式,按ESC退到命令模式)
在此模式下可像在记事本中一样,修改文件内容。
- a: 将在光标所在位置之后插入文本(append)
- A: 将在光标所在行末插入文本
- i: 将在光标所在位置之前插入文本(insert)
- I: 将在光标所在行的第一个非空字符前插入文本
- o: 将在光标所在行的下一行开始插入文本(open)
- O: 将在光标所在行的上一行开始插入文本
- gg: 将光标移动到文本首行
- G: 将光标移动到文本末行
<3> 末行模式
(在命令模式中输入:就进入了末行模式。退出输入模式,按ESC退到命令模式)
可以使用以下命令:
- :q退出命令模式
- :w保存修改内容
- :wq保存退出
- :q!强制不保存退出
- :set nu显示行号
- :/abc查找abc这个字符,按n查找下一个,按N查找上一个
vim 文件内容的替换
- : 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命令,将对每个替换动作提示用户进行确认
在vim中打开新文件或读入新的文件内容
- :e /root/a.txt 在当前下,打开新的文件进行编辑
- :r /root/b.txt 在当前编辑器中,导入新的文件内容
- :w /opt/a.txt 另存为