1.1.1vim主要模式介绍,vim命令模式。
- 确保系统已经安装了VIM工具
[root@yl Desktop]# rpm -qf `which vi`
vim-minimal-7.4.160-1.el7.x86_64
[root@yl Desktop]# rpm -qf `which vim`
vim-enhanced-7.4.160-1.el7.x86_64
vi和vim是同一个软件包安装的吗?
NO
安装vim[root@yl Desktop]# rpm -ivh /mnt/Packages/vim-enhanced-7.4.160-1.el7.x86_64.rpm
1.1.2vim 编辑器模式切换:
命令模式 、命令行模式、编辑模式
首次进入文件: 命令模式
出现 Insert:编辑模式
输入 : 表示 命令行模式
从编辑模式到命令行模式怎样切换?
编辑模式->esc->命令模式->: ->命令行模式
字符操作(怎样进入编辑模式?)
esc 退出编辑模式
进入编辑模式 a io A I O
命令模式
i 当前字符之前插入 (光标前)
I 行首插入 (行首)
a 当前字符之后插入 (光标后)
A 行尾插入(行尾)
o 下一行插入 (另起一行)
O 上一行插入(上一行插入)
x 向后删除一个字符 等同于delete
X 向前删除一个字符
u 撤销一步 每按一次就撤销一次
1.2.1行操作
行尾和行首
home键或^ 行首
$ end键 行尾
删除复制粘贴
yy 复制一行 数字+yy 复制N行
p 将复制行粘贴
dd 删除一行 数字+dd 删除多行
删除5行,使用5dd
扩展:剪切
先删除,再粘贴
删除到行首 d + HOME 或^ (shift+6)
删除到行尾 d + END 或$ (shift+4)
1.2.2词操作
注意词按空格为分隔符 每个空格前都是一个词
dw 删除一个词,删除时要将光标移动到这个词的词首。
如果光标不在词首,则删除光标之后的字母
yw复制一个词
1.2.3 V模式
进入v模式 移动光标选择区域、
编程的时候需要进行多行注释:
1、注释:ctrl+v 进入列编辑模式
2向下或向上移动光标
3把需要注释的行的开头标记起来
4然后按大写的I
5再插入注释符,比如"#"。
6再按Esc,就会全部注释了。
删除:再按ctrl+v 进入列编辑模式;
向下或向上移动光标 ;
选中注释部分,然后按d,
就会删除注释符号。
1.2.4 VIM命令行模式操作
:w 保存 save
:q 没有进行任何修改,退出 quit
:q! 修改了,不保存,强制退出
:wq 保存并退出
:wq! 强制保存并退出。
1.3vim可视化模式,设置vim开发环境。
1.3-1替换
格式: %所有内容 s替换 旧的内容 新的内容 (/g全部)
默认是每一行的第一个符合要求的词
:% s/1/5 每一行的第一个1被替换成5
:% s/1/5/g 将文本中所有的1替换成5
:2,3 s/5/1
/g 全部
#替换2到3行 的5
我们怎么知道是第二行还是第三行呢?
:set nu #显示行号
set nonu #不显示行号
/ 正向查找 :/san n 往下查找,N 往上查找
我想要编辑写入我的网卡地址,但是我忘记了,我要查看一下,当前在vim编辑文档
怎么办呢? 要退出文档吗? 这样好麻烦.
:!ifconfig 调用系统命令
!+命令
定位:
先显示序号
vim中定位到某行:
gg 定位到行首
G 定位到最后一行,行首
#G 定位到某一行
:# 定位到某一行
#gg 定位到某一行
#代表行号
读取其他文件
:r /etc/passwd
保存退出 :wq
1.3.2vim打开多个文件:
[root@xuegod60 ~]# vim -o /etc/passwd /etc/hosts
[root@xuegod60 ~]# vim -O /etc/passwd /etc/hosts
ctrl+ww 在文件之间进行切换
大写O左右分屏,小写的o上下分屏
1.4.1 使用乱码解决工具 iconv
[root@yl Desktop]# rpm -qf `which iconv`
glibc-common-2.17-105.el7.x86_64
[root@yl Desktop]# rpm -ihv /mnt/Packages/glibc-common-2.17-105.el7.x86_64.rpm
通过iconv命令转码
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
-o, --output=FILE 输出文件
-c,--忽略无法转换的字符
-l, --list 列举所有已知的字符集
格式: iconv -f 编码 源文件 -o 转换后文件
[root@yl~]# iconv -f gb2312 -t utf-8 a.txt -o new.txt