47-linux-vim-安装以及权限等:
vi编辑器简介
vim是一个全屏幕纯文本编辑器,是vi编辑器的增强版,我们主要讲解的是vim编辑器。可以利用别名让输入vi命令的时候,实际上执行vim编辑器,例如:
[root@localhost ~]# alias vi= 'vim'
#定义别名
这样定义的别名是临时生效,如果需要永久生效,请放入环境变量配置文件(~/.bashrc)
命令模式:是主要使用快捷键的模式。命令模式想要进入输入模式,可以使用以下的方式:a,A,i,I,O,o
输入模式:主要用于文本编辑,和记事本类似,输入数据就好。末行模式(编辑模式):
:w保存不退出
: w 新文件名 把文件另存为新文件
:q不保存退出
:wq保存退出
:!强制
:q !强制不保存退出,用于修改文件之后,不保存数据退出。
:wq!强制保存退出,当文件的所有者或者root用户,对文件没有写权限的时候,强制写入数据使用
命令模式操作
移动光标
1)上下左右移动光标
上、下、左、右方向键 移动光标
H、j、k、l 移动光标
2)把光标移动到文件头或尾
gg 移动到文件头
G 移动到文件尾( shift+g )
3)移动到行首或行尾
^ 移动到行首
$ 移动到行尾
4)移动到指定行
:n 移动到第几行,这里n是数字,准备移动到第几行,就用哪个数字。
删除或剪切
1)删除字母
x 删除单个字母(一般不这样使用,都用backspace,了解有即可)
nx 删除n个字母(一般不这样使用,都用backspace,了解有即可)
2)删除整行或剪切
dd 删除单行
ndd 删除多行
: nl,n2d 删除指定范围的行
删除整行或多行,这是比较常用的删除方法。这里的dd 快捷键既是删除,也是剪切。删除内容放入了剪切板,如果不粘贴就是删除,如果粘贴就是剪切。粘贴方法如下:
p 粘贴到光标后
P(大) 粘贴到光标前
复制
yy 复制单行
nyy 复制多行
复制之后的粘贴,依然可以使用p键或P(大)键
撤销
u 撤销
ctrl+r 反撤销
“u”键能一直撤销到文件打开时的状态,类似Windows下“ctrl+z”键的作用。“ctrl+r”能一直反撤销到最后一次操作状态,类似Windows 下“ctrl+y”键的作用。
替换
r 替换光标所在处的字符
R 从光标所在处开始替换字符,按ESc结束
“r”键替换单一字符,不用进入输入模式,实际使用时,比进入输入模式删除后再修改,要方便。
查找
/查找内容 从光标所在行向下查找
?查找内容 从光标所在行向上搜索
n 下一个
N 上一个
替换
:1,10s/old/new/g 替换1到10行的所有old为new
:%s/old/new/g 替换整个文件的old为new
替换字符串,我举几个例子:在shell中“#”开头是注释,那我是否可以注释文件的前10行呢?手工一个一个注释很麻烦,那么批量替换吧:
:1,10s/^/#/g 注释1到10行
:1,10s/^ #//g 取消注释
而在C语言,PHP语言等大多数语言中,是使用“//”开头作为注释的,我们当然可以用vim来写这些程序语言脚本,那么批量加入“//”注释吧:
:1,10s/^/N//g 1到10行,行首加入//
:1,10s/^vVI/g 取消1到10行行首的//
vim使用技巧
1.在vim中导入其他文件内容或命令结果
1.1导入其他文件内容
:r 文件名 #把文件内容导入光标位置
1.2在vim中执行系统命令
:! 命令 #在vim中执行系统命令
这里只是在vim中执行系统命令,但并不把系统命令的结果写入到文件中。主要用于在文件编辑中,查看系统信息,如时间。
1.3 导入命令结果
:r! 命令 #在vim中执行系统命令,并把命令结果导入光标所在行
2.设定快捷键
:map 快捷键 快捷键执行的命令 #自定义快捷键
vim允许自定义快捷键,常用的自定义快捷键如下:
:map P I#<ESC> #按“ctrl+p”时,在行首加入注释
:map ^B ^x #按“ctrl+b”时,删除行首第一个字母(删除注释)
注意:^Р快捷键不能手工输入,需要执行ctrl+V+P来定义,或ctrl+V ,然后ctrl+P。B快捷键也是一样
3.字符替换
:ab 源字符 替换为字符 #字符替换
在vim编辑中,有时候需要频繁输入某一个长字符串(比如邮箱),这时使用字符串替换,能增加输入效率,例如:
:ab mymail shenchao@163.com 当碰到“mymail”时,转变为邮箱
注意:“源字符”不应设置的太短,否则有可能影响输入。
4.多文件打开
在vim中可以同时打开两个文件,只要执行如下命令:
[root@localhost ~]# vim -o abc bcd
[root@localhost ~]# vim -0 abc bcd
#一o小写o会上下分屏打开两个文件 #-O大写0会左右分屏打开两个文件
这样可以同时打开两个文件,方便操作。如果是“-o”上下打开两个文件,可以通过先按" ctrl+w”,再按“上下箭头”的方式在两个文件之间切换。
如果是“-O”左右打开两个文件,可以通过先按“ctrl+w”,再按“左右箭头”的方式在两个文件之间切换。
软件包安装:(源码包和RPM二进制包)
RPM包。
—、手工命令安装
安装:rpm -ivh包全名
升级:rpm -Uvh包全名
卸载:rpm -e包名。
查询:
1)查询是否安装
rpm -q 包名
rpm -qa | grep 包名
2)查询包信息
rpm -qi 包名
rpm -qip 包全名
3)查询安装位置
rpm -ql 包名
rpm -qlp 包全名
4)查询系统文件属于哪个包
rpm -qf 系统文件名
5)查询依赖性
rpm -qR包名。
验证:rpm -V 包名
导入数字证书:rpm --import 数字证书
提取RPM包中文件:
[root@localhost~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.e16.i686. rpm | cpio-idv . /bin/ls
二、yum安装
ql 包名
rpm -qlp 包全名
4)查询系统文件属于哪个包
rpm -qf 系统文件名
5)查询依赖性
rpm -qR包名。
验证:rpm -V 包名
导入数字证书:rpm --import 数字证书
提取RPM包中文件:
[root@localhost~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.e16.i686. rpm | cpio-idv . /bin/ls
二、yum安装