目标内容
[b]1.vim编辑的使用和[/b]
查看系统是否已经安装了VIM工具
# rpm -qf `which vim`
# rpm -qf `which vi`
# cd /media/Packages/
# rpm -ivh vim-
vim-common-7.4.160-1.el7.x86_64.rpm
vim-enhanced-7.4.160-1.el7.x86_64.rpm
vim-filesystem-7.4.160-1.el7.x86_64.rpm
vim-minimal-7.4.160-1.el7.x86_64.rpm
vim-X11-7.4.160-1.el7.x86_64.rpm
进行安装
# rpm -ivh vim-enhanced-7.4.160-1.el7.x86_64.rpm
问:vi和vim是同一个软件包安装的吗?
答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi
[u]vim模式切换[/u]
首次进入文件 ---- 命令模式
出现 Insert ---- 编辑模式
输入" : " ---- 命令行模式
A:从编辑模式到命令行模式怎样切换?
编辑模式->esc->命令模式->: ->命令行模式
B:字符操作(怎样进入编辑模式?)
进入编辑模式 a i o A I O
说明:
i 当前字符之前插入 (光标前)
I 行首插入 (行首)
a 当前字符之后插入 (光标后)
A 行尾插入(行尾)
o下一行插入 (另起一行)
O上一行插入(上一行插入)
x 向后删除一个字符 等同于delete
X 向前删除一个字符
u 撤销一步 每按一次就撤销一次
r 替换
[u]行操作[/u]
输入home键 或 ^ (shift +6) 将光标移动到当前的行首
输入end键 或 $ (shift +4) 将光标移动到当前的行尾
删除行
dd 删除一行 数字+dd 删除多行
删除光标后全部内容 d+G
显示行号:set nu
复制粘贴
yy 复制一行 数字+yy 复制N行
p 将复制行粘贴
复制 38-42行 到 44行
: 38,42 co 44
扩展:剪切
先删除,再粘贴
删除到行首 d + HOME 或 ^ (shift+6)
删除到行尾 d + END 或 $ (shift+4)
[u]V模式[/u]
进入v模式 移动光标选择区域、
编程的时候需要进行多行注释:
1)、ctrl+v 进入列编辑模式
2)、向下或向上移动光标
3)、把需要注释的行的开头标记起来
4)、然后按大写的I
5)、再插入注释符,比如"#"
6)、再按Esc,就会全部注释了
删除:再按ctrl+v 进入列编辑模式;向下或向上移动光标 ;选中注释部分,然后按d, 就会删除注释符号。
[u]命令行模式操作[/u]
:w 保存 save
:q 没有进行任何修改,退出 quit
:q! 修改了,不保存,强制退出
:wq 保存并退出
:wq! 强制保存并退出
:x 保存退出
[u]调用外部文件或命令[/u]
假设:我想要编辑写入我的网卡地址,但是我忘记了,我要查看一下,当前在vim编辑文档
怎么办呢? 要退出文档吗? 这样好麻烦.
在命令行模式下操作:
:!ifconfig 调用系统命令
!+命令
[u]替换(命令行模式)[/u]
格式 : %所有内容 s替换 旧的内容 新的内容
默认是每一行的第一个符合要求的词 (/g全部)
:% s/a/b 每一行的第一个a被替换成b
:% s/a/b/g 将文本中所有的a替换成b
只替换某几行内容
:2,3 s/a/b
/g 全部
#替换2到3行 的a
我们怎么知道是第二行还是第三行呢?
:set nu #显示行号
:set nonu #不显示行号
[u]查找[/u]
/ 正向查找 :/san n 往下查找,N 往上查找
[u]定位[/u]
vim中定位到某行:
到命令模式下操作 gg 定位到文件首行
到命令模式下操作 G 定位到文件尾行
在命令行模式下操作 :# 定位到某一行 (#表示行号)
到命令模式下操作 10gg
[u]读取其他文件[/u]
在命令行模式下
:r /etc/passwd
保存退出 :wq
[u]输出文件内容时显示行号:[/u]
# nl b.txt
# cat -n b.txt
[u]vim打开多个文件:[/u]
# vim -o /etc/passwd /etc/hosts
# vim -O /etc/passwd /etc/hosts
ctrl+ww 在文件之间进行切换
大写O左右分屏,小写的o上下分屏
比较文件内容
vimdiff 文件A 文件B
[b]乱码解决[/b]
使用乱码解决工具 iconv
# rpm -qf `which iconv`
glibc-common-2.17-105.el7.x86_64
[u]如果没有安装,用下面的命令安装[/u]
# rpm -ihv /mnt/Packages/glibc-common-2.17-105.el7.x86_64.rpm
[u]通过iconv命令转码[/u]
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-o, --output=FILE 输出文件
-l, --list 列举所有已知的字符集
注意:GB2312编码适用于汉字处理
# iconv -f gb2312 test.txt -o new.txt
#echo $LANG
#LANG=zh_CN.UTF-8
vim编辑的使用和
乱码解决
[b]1.vim编辑的使用和[/b]
查看系统是否已经安装了VIM工具
# rpm -qf `which vim`
# rpm -qf `which vi`
# cd /media/Packages/
# rpm -ivh vim-
vim-common-7.4.160-1.el7.x86_64.rpm
vim-enhanced-7.4.160-1.el7.x86_64.rpm
vim-filesystem-7.4.160-1.el7.x86_64.rpm
vim-minimal-7.4.160-1.el7.x86_64.rpm
vim-X11-7.4.160-1.el7.x86_64.rpm
进行安装
# rpm -ivh vim-enhanced-7.4.160-1.el7.x86_64.rpm
问:vi和vim是同一个软件包安装的吗?
答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi
[u]vim模式切换[/u]
首次进入文件 ---- 命令模式
出现 Insert ---- 编辑模式
输入" : " ---- 命令行模式
A:从编辑模式到命令行模式怎样切换?
编辑模式->esc->命令模式->: ->命令行模式
B:字符操作(怎样进入编辑模式?)
进入编辑模式 a i o A I O
说明:
i 当前字符之前插入 (光标前)
I 行首插入 (行首)
a 当前字符之后插入 (光标后)
A 行尾插入(行尾)
o下一行插入 (另起一行)
O上一行插入(上一行插入)
x 向后删除一个字符 等同于delete
X 向前删除一个字符
u 撤销一步 每按一次就撤销一次
r 替换
[u]行操作[/u]
输入home键 或 ^ (shift +6) 将光标移动到当前的行首
输入end键 或 $ (shift +4) 将光标移动到当前的行尾
删除行
dd 删除一行 数字+dd 删除多行
删除光标后全部内容 d+G
显示行号:set nu
复制粘贴
yy 复制一行 数字+yy 复制N行
p 将复制行粘贴
复制 38-42行 到 44行
: 38,42 co 44
扩展:剪切
先删除,再粘贴
删除到行首 d + HOME 或 ^ (shift+6)
删除到行尾 d + END 或 $ (shift+4)
[u]V模式[/u]
进入v模式 移动光标选择区域、
编程的时候需要进行多行注释:
1)、ctrl+v 进入列编辑模式
2)、向下或向上移动光标
3)、把需要注释的行的开头标记起来
4)、然后按大写的I
5)、再插入注释符,比如"#"
6)、再按Esc,就会全部注释了
删除:再按ctrl+v 进入列编辑模式;向下或向上移动光标 ;选中注释部分,然后按d, 就会删除注释符号。
[u]命令行模式操作[/u]
:w 保存 save
:q 没有进行任何修改,退出 quit
:q! 修改了,不保存,强制退出
:wq 保存并退出
:wq! 强制保存并退出
:x 保存退出
[u]调用外部文件或命令[/u]
假设:我想要编辑写入我的网卡地址,但是我忘记了,我要查看一下,当前在vim编辑文档
怎么办呢? 要退出文档吗? 这样好麻烦.
在命令行模式下操作:
:!ifconfig 调用系统命令
!+命令
[u]替换(命令行模式)[/u]
格式 : %所有内容 s替换 旧的内容 新的内容
默认是每一行的第一个符合要求的词 (/g全部)
:% s/a/b 每一行的第一个a被替换成b
:% s/a/b/g 将文本中所有的a替换成b
只替换某几行内容
:2,3 s/a/b
/g 全部
#替换2到3行 的a
我们怎么知道是第二行还是第三行呢?
:set nu #显示行号
:set nonu #不显示行号
[u]查找[/u]
/ 正向查找 :/san n 往下查找,N 往上查找
[u]定位[/u]
vim中定位到某行:
到命令模式下操作 gg 定位到文件首行
到命令模式下操作 G 定位到文件尾行
在命令行模式下操作 :# 定位到某一行 (#表示行号)
到命令模式下操作 10gg
[u]读取其他文件[/u]
在命令行模式下
:r /etc/passwd
保存退出 :wq
[u]输出文件内容时显示行号:[/u]
# nl b.txt
# cat -n b.txt
[u]vim打开多个文件:[/u]
# vim -o /etc/passwd /etc/hosts
# vim -O /etc/passwd /etc/hosts
ctrl+ww 在文件之间进行切换
大写O左右分屏,小写的o上下分屏
比较文件内容
vimdiff 文件A 文件B
[b]乱码解决[/b]
使用乱码解决工具 iconv
# rpm -qf `which iconv`
glibc-common-2.17-105.el7.x86_64
[u]如果没有安装,用下面的命令安装[/u]
# rpm -ihv /mnt/Packages/glibc-common-2.17-105.el7.x86_64.rpm
[u]通过iconv命令转码[/u]
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-o, --output=FILE 输出文件
-l, --list 列举所有已知的字符集
注意:GB2312编码适用于汉字处理
# iconv -f gb2312 test.txt -o new.txt
#echo $LANG
#LANG=zh_CN.UTF-8