Vi&Vim
-
简介:
Vi编辑器是所有Unix及Linux系统下标准的编辑器,在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,Vi也是Linux中最基本的文本编辑器。
Vim都是Linux中用的最多的编辑器,与Vi不同的是,Vim比较高级,可以视为Vi的升级版本。Vi使用于文本编辑,但是Vim更适用于coding(写代码的)。
Vim特点:
- 惯于使用Windows的人可能不太习惯使用Vim;
- Vim是一个功能强大的全屏幕文本编辑器,是 Linux/UNIX上最常用的文本编辑器Vi;
- Linux上很多命令默认调用的编辑器都是Vim(Linux还有emacs等编辑器,大家熟练之后可以选用自己喜欢的);
- 可以建立、编辑、显示文本文件;
- Vim没有菜单,只有命令。只能通过命令来下达指令来进行编辑等操作。
-
Vim三种模式:
- 命令行输入
Vi/Vim+filename(已经存在的文件名或者创建一个新文件)
,Vi之后默认进入命令模式; - 进入命令模式后等待输入正确指令,输入
i/a/o
进入像Windows记事本一样的插入模式; - 完成修改之后摁
Esc
之后回到命令模式,输入:
可以进入编辑模式; - 在编辑模式下输入命令之后(即 “ : ” 之后)回车即可执行,编辑模式命令执行完之后会自动回到命令模式;
- 命令模式下输入
:wq
即可保存退出。
- 命令行输入
-
命令模式:使用 Vim 编辑文件时,默认处于命令模式,敲的任何一个字符系统都会当成命令来处理。在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)。
-
输入模式:在命令模式状态下输入
i/a/o
等插入命令可以进入输入模式,在该模式Vim可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。 -
编辑模式:在在命令模式状态下按
:
进入编辑模式,可以在末行:
之后输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等),命令执行后会自动返回命令模式。任何模式下按
Esc
键都可以返回命令模式。 -
Vim常用命令(在命令模式下输入):
-
插入命令
命令 作用 i 在当前光标所在字符前插入随后输入的文本,光标后的文本相应向右移动 I 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符 o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 O 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 a 在当前光标所在字符后插入随后输入的文本 A 在光标所在行的行尾插入随后输入的文本 -
定位命令
命令 作用 :set nu 设置行号 :set nonu 取消行号 gg 到第一行 G 到最后一行 nG 到第n行 :n 到第n行 $ 移至行尾 0 移至行首 -
删除命令
命令 作用 x 删除光标所在处字符 nx 删除光标所在处后n个字符 dd 删除光标所在行 ndd 删除当前行(包括此行)后 n 行文本 dG 删除光标所在行到文件末尾内容 D 删除光标所在处到行尾内容 :n1,n2d 删除从 a1 行到 a2 行的内容 -
复制、粘贴和剪切命令
命令 作用 yy 复制当前行 nyy 复制当前行以下n行 dd 剪切当前行 ndd 剪切当前行以下n行 p、P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行 -
替换和取消命令
命令 作用 r 取代光标所在处字符 R 从光标所在处开始替换后面等长字符,按Esc结束 u 取消上一步操作 :n1,n2s/a1/a2/g 将文件中 n1 到 n2 行中所有 a1 都用 a2 替换 :g/a1/a2/g 将文件中所有的 a1 都用 a2 替换 :1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 :%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 -
搜索和搜索替换命令
命令 作用 /string 搜索指定字符串
搜索时忽略大小写:set ic
/^abc 查找以 abc 为行首的行 /abc$ 查找以 abc 为行尾的行 ?abc 从光标所在为主向后查找字符串 abc n 向同一方向重复上次的查找指令 N 向相反方向重复上次的查找指令 :%s/old/new/g 全文替换指定字符串 :n1,n2s/old/new/g 在一定范围内替换指定字符串 要查找的字符串是严格区分大小写的,如果想忽略大小写,则输入命令
:set ic
;调整回来输入:set noic
。如果在字符串中出现特殊符号,则需要加上转义字符 "\"。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10$"。
-
保存和退出命令
命令 作用 :w 保存修改 :w new_filename 另存为指定文件 :wq 保存修改并退出 ZZ 快捷键,保存修改并退出 :q! 不保存修改退出 :wq! 保存修改并强制退出(文件所有者及root可使用)
-