一、编辑器简介
vi & vim 是一个字符终端下的全屏纯文本编辑器,vim是vi的升级版,为此我们以后就用vim就可以了。
1.1 工作模式
命令模式:使用一些指令性命令对文件内容进行操作,多是一些快速处理文本的方法
输入模式:文件内容的编辑模式,常用来编写和修改文件
末行模式:特殊模式
1.2 进入输入模式的方法
a 在光标所在字符后插入
A 在光标所在行尾插入
i 在光标所在字符前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行
二、命令模式下操作
2.1 光标移动
1)光标上下左右移动
上、下、左、右光标键
h、j、k、l按键功能同上
2)光标移动到文件头和文件尾
gg 移动光标到文件头
G 光标移动到文件尾
3)光标移动到行首和行尾
^ 光标移动到行首
$ 光标移动到行尾
2.2 删除、复制和剪切等操作
1)删除一个字符
x 删除光标当前所在字符
nx 从当前光标处删除指定n个字符;例如:10x
2)删除行,并将内容保存到缓冲区
dd 删除光标所在行
ndd 删除从当前光标处的连续n行;例如:5dd
dG 从光标处删除到文件尾
3)复制指定内容到缓冲区中
yy 复制光标所在行内容
nyy 从当前行连续复制多行内容
4)将保存在缓存中的内容粘贴到指定位置
p 将缓存中的内容粘贴到当前所在行的下边
P(大) 将缓存中的内容粘贴到当前所在行的上边
5)替换指定字符串
r 替换光标所在字符
R 从光标所在处开始连续替换,直至按ESC结束
6)撤销
u 撤销内容编辑的操作,可连续操作
crtl+r 反撤销,可连续使用,直至撤销到最后一次操作状态
7)查询操作
/ 从光标所在处向下查询
? 从光标所在处向上查询
n 定位下一个查到的关键词
N 定位上一个查到的关键词
三、末行模式相关操作
末行模式是一种特殊模式,能实现很多种行为
1) 移动到指定行
:n 移动光标到指定行
2)删除指定范围内的行
:n,md 删除从第n行到第m行的内容
3)显示和取消显示行号
:set nu 显示行号
:set nonu 取消显示行号
4)取消因之前查询的颜色高亮
:noh 取消因查询造成的颜色高亮
5)替换指定字符串
:ns /old/new/ 将指定第n行的第一个old替换为new
:ns /old/new/g 将指定第n行的所有old替换为new
案例:
:1,10s /^/#/ 将文件的第1-10行开头添加#注释
:%s /^#// 取消全文的注释信息
:1,10s /^/\/\// 将文件的第1-10行开头添加//注释
6)导入其他文件
:r 文件路径 将其他文件的内容导入到当前文件的光标所在处
7)在文本中执行命令
:!命令 在文件中执行命令,查看命令结果
:r !命令 在文件中执行命令,但不显示结果,而是将结果插入到光标所在处
8)定义快捷键
:ab 简 繁 定义一个简单的字符串,代表后续的繁杂字符串,用来快速输出字符串
:map 快捷键 功能 定义快捷键,快速执行某项操作
案例:
:ab mymail liuchuan_jy@163.com
当输入mymail时,自动替换成完成的邮箱地址
:map ^P I#<ESC>
^p:是使用ctrl+v+p按出来的
当使用ctrl+p时,给当前行添加#注释
:map ^B ^x
^b::是使用ctrl+v+b按出来的
当使用ctrl+b时,删除行首的第一个字符{会忽略掉空格}
9)保存&保存退出
:w 将修改保存到文档中{仅仅是保存相当ctrl+s,但不退出文本}
:wq 将修改保存到文档,并退出当前文档,结束编辑
:wq! 强制将修改保存,并退出当前文档
10)退出&不保存退出
:q 退出当前文档,结束编辑,但仅限于没有对内容做过修改的文档
:q! 强制退出文档,结束编辑,但不保存修改过的内容,适合修改过内容的文档
四、同时打开多个文件
vim命令可以同时打开两个文件,并操作
-o :按照上下分屏打开两个文件
-O :按照左右分屏的方式打开两个文件
ctrl+w
用上下、左右进行文件切换。
五、别名
命令:alias
功能:列出生效了的别名
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
自定义别名:
格式:alias 别名=‘实际命令’
例如:alias vi=‘vim’ #照顾那些习惯用vi的同志们~
取消设置:unalias 别名 #临时取消该别名的功能了
别名永久生效:
单个用户:~/.bashrc
所有用户:/etc/bashrc
刷新配置文件:
source ~/.bashrc