Linux 笔记(二): vim 基本操作
前言:上一文介绍了 Linux 的一些基本操作,其实就是解决没有鼠标的情况下,用户输入的问题.知道这些,对于文件的操作基本上是够用了。Linux 笔记 (一): 基本命令
现在我们来研究研究,本文内容的输入吧,同样是没了鼠标,你该怎么办?(无论输入形式再如何变化也无法阻止用户最原始的欲望)
Vi & Vim 的四大模式
话说 vi 文本编辑器有四大模式,你都清楚吗?
默认模式:主要解决在没有鼠标的情况下,光标的移动问题 (esc)
插入模式:类似于文本编辑的作用(iIaAoO)
命令模式:相当于保存呀,退出呀,替换呀等等这样的一些功能(:)
视图模式:解决批量操作的问题,表现形式就是光标的对选(vVctrl+v)
移动光标位置(默认模式)
hjkl 代表 左下上右 四个方向的移动(注:在字符控制台里↑↓←→会出现乱码)
^ 移动到行首
$ 移动到行尾部
g 移动到文件第一行
G 移动到文件最后一行
[lineNumber]+G 移动到指行(例如: 按 3 然后按 G,光标移动到第 3 行)
复制,剪切,粘贴, 删除等(默认模式)
y 复制 (按 y 再按 y 然后 光标移动到指定的行 按 p 进行粘贴)
d 剪切 (按 d 在按 d 然后同上, 都是对整行的操作!)
p 粘贴
u 撤销
ctrl + r 重做
x 删除
r 替换当前光标的字符
文本输入(插入模式)
i 在光标前处插入
a 在光标的后插入
o 光标的下一行插入
I 在光标行首插入
A 在光标行末尾插入
O 光标的上一行插入
批量操作(可视模式)
v 对字符的对选
V 对行的多选
ctrl + v 对光标块的多选
I 进行修改(按 esc 再 按 esc,完成批量修改的操作)
d 进行删除工作
工具栏操作(命令模式)
:w 保存
例如(:w hello.js 保存该文件为 hello.js)
:q 退出
例如(:q! 强制退出)
:! 执行 shell 命令
例如: (:r !ifconfig 可以复制 ip 地址过来)
:s 替换
:s/div/p(/g) 将光标所在行的第一个(所有的)div 替换成 p
:%:s/div/p(/g) 将第一个(所有的)div 替换成 p
:2,5s/div/p(/g) 将 2 到 5 行第一个(所有的)的 div 替换成 p
/ 查找
例如(/div 光标会移动到该处, 按 n 移动到下一个匹配的位置, shift + n 返回上一个被选中的位置)
:set 设置命令
例如(:set nu 显示编辑器行号, :set nonu 关闭行号)
总结:
四大模式解决没有鼠标的问题,(就像是吃饭的本能)
移动光标
复制,粘贴,删除,替换,撤销,重做
插入新内容
批量操作
工具类:保存,退出,查找,替换,设置
tips:
命令行输入: vimtutor 可以进行 vim 的练习
参考
版权声明: 本文为 InfoQ 作者【Leo】的原创文章。
原文链接:【http://xie.infoq.cn/article/2e3e0a479de9c2820aa69dfce】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论