Vim编辑器的三种工作模式:
命令模式(默认模式):复制,粘贴,剪切,切换到其他模式
输入模式(编辑模式):a\\i\\o,针对每个字符进行编辑,删除
末行模式(扩展模式):保存,退出,保存并退出,字符替换等 光标方向移动
操作类型
剪切(删除)
删除当前光标处单个字符:x或者Del剪切当前行:dd
剪切从光标处开始的#行内容:#dd
删除当前光标前到行首所有内容:d^
删除当前光标到行尾所有内容:d$
粘贴
粘贴到当前行下:p
粘贴到当前行上:P
撤销
取消最近一次操作:u
反撤销:ctrl+r
复制
复制当前行:yy 复制从光标开始处的#行内容:#yy
保存
保存并退出当前编辑:ZZ shift+‘;’ :set number
查找
从上而下在文件中查找字符串“word”:/word
从下而上在文件中查找字符串“word”:?word
命令模式:
翻页
向上翻页:Page Up或Ctrl+B
向下翻页:Page Down或Ctrl+F
行内快速跳转
跳转至行首:Home键或者“^”、数字“0”
跳转到行尾:End键或“$"
行间快速跳转
跳转到文件首行:1G或者gg
跳转到文件末行:G
#G 其中#代表数字,#G表示跳转到文件中的第#行
直接输入数字+回车,表示从当前行开始计算,跳到文件位置的累加行
输入模式:
a:在当前光标所在位置的后面输入字符
i:在当前光标所在位置的前面输入字符
o:在当前光标所在位置的下面重新开启一行输入字符
A:跳转到当前光标所在行行尾输入字符
I:跳转到当前光标所在行行首输入字符
O:在当前光标所在位置的上面重新开启一行输入字符
s:删除光标后的一个字符,然后进入输入模式
S:删除光标所在的行,然后进入输入模式
末行模式
显示行号 :set nu
取消显示行号 :set nonu
保存
保存修改内容:‘:w’
另存为:‘ :w /路径/文件’
未修改退出:‘:q’ 放弃修改强制退出:‘:q!’保存并退出:‘:wq’
打开新文件编辑 :e /路径/文件
读入文件内容到当前编辑 :r /路径/文件
替换
将当前行中查找到的第一个字符“old” 替换为“new” :s/old/new
将当前行中查找到的所有字符串“old” 替换“new” :s/old/new/g
在行号“#,#”范围内替换所有的字符串“old”为“new” :#,#s/old/new/g
在整个文件范围内替换所有的字符串“old”为“new” :%s/old/new/g
vim 指令创建文件
vim file 文件在则打开文件,不在则创建一个文件,光标在缓冲区1行1列
vim -r filename 在上次vim编辑发生系统崩溃时,恢复filename文件
vim +# file 文件在则打开文件,不在则创建一个文件,光标在文件#行1列
vim + file 文件在则打开文件,不在则创建一个文件,光标在文件最后1行1列
vim +/string file 文件在则打开文件,不在则创建一个文件,光标在文件第一次出现string的行首位置
vim !$*
扩展:命令执行时的具体顺序
- 第一顺位执行用绝对路径或相对路径执行的命令
- 第二顺位执行别名
- 第三顺位执行BASH内部命令
- 第四顺位执行按照
*PATH环境变量定义的目录查找顺序找到的第一条指令
注意:
命令别名的优先级高于命令本身,比如alias vi=‘vim’,那么原始vim就不能使用,除非确定原命令不用,否则别名不能和系统命名重名。
目录文件结构及常用目录的作用 :
/bin:
表示普通用户和系统用户 管理员都可以调用的指令
/sbin:
系统用户和管理员可以调用的指令
/boot:
系统启动引导目录 内核文件(vmlinuz)和引导加载器(bootleader)
/home:
普通用户账户家目录的存放目录
/root:
超级用户的家目录
/dev:
存储设备文件及特殊文件
/etc:
系统启动,用户权限,应用程序等配置文件的主目录
/lib:
启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:
X86_64系统上的辅助共享库文件存放位置
/media:
RHEL6及之前的操作系统,外接设备默认存放路径 /media/kingston
/run:
RHEL7外接设备默认存放路径 /run/media/$username/kingston
/mnt:
临时文件系统挂载点 建议将磁盘设备挂载到当前目录的子目录中使用
/proc:
输出内核与进程信息相关的虚拟文件系统(基于内存)
/sys:
存储有关系统上的硬件信息
/tmp:
临时文件存放目录,主要针对普通用户
/var/tmp:
系统程序文件存放目录,主要针对系统用户
/usr:
用户自定义配置目录
/var:
业务数据存放目录