Linux vim使用和iconv乱码解决

目标内容

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值