vim是什么
vim 是由 vi 发展出来的文本编辑器。类似于Windows下的source insight,sublime。 vi 是visual interface 的缩写 ,即可视化窗口。vim 即 vi IMproved,在 vi 的基础上做了很多改进,如:增加了多级撤销、多窗口操作、崩溃后也可以恢复、增加了稳定性、关键字自动补全、上下文自动补全等功能
vi/vim 的使用vim [OPTION]... ...
命令 选项 文件
vim 文件名不存在 是新建 vim 文件名存在 就是修改
基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)
vim三个模式
命令模式 用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。
以下是普通模式常用的几个命令:
-
操作键 功能 ctrl+f或者Pagedown 向下翻页 ctrl+b或者Pageup 向上翻页 Home;^;0 跳到本行的行首 按 End 键或$ 跳转到本行的行尾 1G 或 gg 跳转到文件的第一行包括空行 G 跳转文件的末尾 #G #代表行号数字,直接跳转到#行 dd 删除一整行 #dd 删除当前光标开始到第#行(包括当前行) d^ 删除当前光标之前到行首 往前不包括当前光标处的字符
86 往后删除包括当前光标处的字符d$ 删除当前光标到行尾 dw 删除当前光标处的单词 R 或shift+r 替换当前光标处文字,会进入替换模式 yy 复制当前光标处整行 #yy 复制当前光标处向下的#行 p 粘贴到光标处下一行 P 粘贴到光标处上一行 u 只消除上一次可多次使用
插入模式
一般模式切换到编辑模式的可用的按钮说明
| 进入输入或取代的编辑模式 | |
|---|---|
| i, I | 进入输入模式(Insert mode): i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用) |
| a, A | 进入输入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用) |
| o, O | 进入输入模式(Insert mode): 这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!(常用) |
| r, R | 进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) |
末行模式
切换到指令行模式的可用的按钮说明
| 指令行的储存、离开等指令 | ||
|---|---|---|
| :w | 将编辑的数据写入硬盘档案中(常用) | |
| :w! | 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! | |
| :q | 离开 vi (常用) | |
| :q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 | |
| :wq | 储存后离开,若为 :wq! 则为强制储存后离开 (常用) | |
| :w [filename] | 将编辑的数据储存成另一个档案(类似另存新档) | |
| :r [filename] | 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 | |
| :n1,n2 w [filename] | 将 n1 到 n2 的内容储存成 filename 这个档案。 | |
| :! command | 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息! |
末行模式查找
**末行模式下的查找替换 ** 通式
范围 s /旧字符/新字符/修饰符
范围
修饰符
g 全局替换
i 忽略大小写
c 替换前询问
实验
用vim编辑文本
全文替换数字为ikun
附:vim键盘命令图