VIM的基本使用及模式介绍

tech2023-09-08  108

文章目录

1. vim的使用1.1 vim的四种模式1.1.1 正常模式1.1.2 插入模式1.1.3 命令行模式实战1。调用外部文件或命令实战2。文本替换 1.1.4 可视模式1.1.5自定义vim使用环境<1>临时设置<2>永久设置环境<3>同时打开上下两个文档<4>♥比较文件不同 2.实战1:解决上传windows中文文档乱码问题3.实战2:解决Linux脚本导至windows上打开乱码问题4.实战3:恢复linux6下ext4文件系统下误删除的文件5.实战4:使用Xmanager等远程连接工具连接Linux

1. vim的使用

yum菜鸟教程

rpm菜鸟教程

vim在哪里,属于那个包

which vim >/usr/bin/vim which vi /usr/bin/vi //rpm-redhat package manager //-f<文件>+  查询拥有指定文件的套件。 //-q 使用询问模式,当遇到任何问题时,rpm指令会先询问用户 rpm -qf /usr/bin/vim //查看安装包 enhance rpm -qf /usr/bin/vi //minimual prm -qf `which yum`//结合版,使用反引号<tab上>。反引号的作用把输出当作前一条命令的输入。 //小技巧,查看一个命令是哪个软件包安装的

1.1 vim的四种模式

1.1.1 正常模式

首次进入文件

vim +行号 /etc/passwd //可以进行固定行号写入 vim + /etc/passwd //自动位于最后一行

复制与黏贴

2yy ----复制两行 dd------剪切 p-------黏贴

1.1.2 插入模式

(编辑模式)

进入编辑模式

i当前字符之前, I行首插入a当前字符之后插入,A行尾插入o下一行插入, O上一行插入

1.1.3 命令行模式

Command-line)

按esc—》:

u撤销一步,ctrl+r恢复x类似于delete来使用,X = <-gg首段首行。G末端行$和end行尾,0和空格行首/+String,按N或者小n进行查找 q! //强制保存不退出 wq! //强制保存退出 e! //恢复原始继续编辑
实战1。调用外部文件或命令
//再命令行模式下, !+命令 如 vim /etc/ssh/sshd_config esc--->: //进入命令行模式 !+ifconfig //复制想要内容再回车 //黏贴相关内容 r /etc/host //可以将文档内容读进来
实战2。文本替换
格式:范围(1,3 1-3行 %所有行)s分隔符 旧内容 分隔符 新内容 /g(分隔符可以自定义,/g代表全部) :1,3 s/bin/xuegod/g //将1-3行的bin替换为xuegod do DO :% s/do/xuegod/g //将全文的do替换为xuegod :% s@do@xuegod/g

1.1.4 可视模式

(可视块模式Visual mode)

常用于编程或修改服务器时,实战中常用来进行需要进行多行注释。批量删除或批量编辑

vim /etc/ssh/sshd_config //配置文件 ctrl+v //进入可视块模式 向下选择要影响的行 按d会去掉注释符号 按I可以插入你想插入的符号,随后按esc即可王城插入

1.1.5自定义vim使用环境

<1>临时设置
:set nu 设置行号 :set nonu 取消行号 :noh 取消高亮
<2>永久设置环境
vim /etc/vimrc //设置后会影响所有的用户 ~/.vimrc //在家目录下,创建一个.vimrc。这样只影响单个用户 echo "set nu" > ~/.vimrc //等价于vim /root/.vimrc 即可每个文件都有行号
<3>同时打开上下两个文档
//这种很少用,<4>用的很多 vim -o /etc/passwd /etc/hosts //上下打开 vim -O /etc/passwd /etc/hosts //左右打开 ctrl+ww //切换文档 :qa //退出
<4>♥比较文件不同
echo aaaa >> a.txt //将aaa写入a.txt vimdiff /etc/passwd a.txt //可直接定位到不同的地方

2.实战1:解决上传windows中文文档乱码问题

环境:centos8 系统默认汉语

将同目录下“xxxx”上传至linux服务器,使用ssh远程连接到linux,使用vim打开显示乱码

iconv -f gb2312 -t utf8 文件名 -o dest.txt //windows下从默认GB2312,到转为utf-8

3.实战2:解决Linux脚本导至windows上打开乱码问题

没有换行-----》因为处理回车的方式是不一样的

unix2dos 文件名 //将该文件换行格式转为windows可以识别的模式

4.实战3:恢复linux6下ext4文件系统下误删除的文件

yum install lrzsz

//ext4上系统文件误删除了,extundelete //ext3上系统文件误删除了,ext3grep //Windows恢复误删除的文件, final data v2.0汉化版,easyrecovery

Linux文件系统由三部分组成:文件名,inode,block

a.txt --》inode ----》block

文件名 存放文件元数据信息 真正存放数据

//查看inode中包含的内容,会比ls -l a.txt更为详细 stat a.txt //block块:真正删除,即擦写完成

一旦删除应进行卸载需要恢复的文件分区及以只读方式进行挂载。

将undelete解压于USB或挂载一块单独硬盘。(要恢复的文件也放于其中)

fdisk /dev/sda //创建sda4 partx -a /dev/sda //获得新分区 ls -l /dev/sda*

若在根下删除了文件,想要恢复。

①立即断电,将磁盘以只读方式,挂载到另一个电脑进行恢复。

②把extundelete在虚拟机上提前安装好,复制到U盘中。恢复文件。恢复文件一定保存在U盘中,不能让恢复数据写到/下,那样会覆盖之前删除的文件。

mkdir /tmp/sda4 //创建挂载点 mount /dev/sda4 /tmp/sda4 umount /tmp/sda4 //删除文件后进行卸载,卸载操作时必须退出该文件夹。 //通过inode号,ls -id / 查看inode号,所以从inode 2开始。ext4文件系统的分区根目录inode的值为2。xfs分区根目录的inode值为64。 extundelete /dev/sda4 --inode 2 //从inode2开始查看被删的文件 //文件的恢复 根据inode恢复 extundelete /dev/sda4 --restore-inode 12 //文件的恢复 根据文件名恢复 extundelete /dev/sda4 --restore-file passwd //文件的恢复 根据目录恢复 extundelete /dev/sda4 --restore-directory etc //恢复所有文件,其在恢复文件对的时候不能创建空文件 extundelete /dev/sda4 --restore-all

安装extundelete

tar的调用

上传extundelete至linux。//bz2的包解压的时候需要 tar -j //-jxvf,x是解析,v是显示详细信息,f是具体解压文件 //在extundelete解压文件夹下执行,源码编译三板斧 ./configure //需要一个依赖包,yum install e2fsprogs-devel,检查系统安装文件。生成Makefile文件 make -j 4 //将源码编译,使用4进程同时编译,提升速度。top按一下数字键1,可以看到cpu的个数。 make install //install -m 777 /bin/find /opt/a.txt 用install不用cp是因为可以直接进行赋予权限

5.实战4:使用Xmanager等远程连接工具连接Linux

在Xshell中输入rz上传文件,输入sz下载文件。

用xftp传文件夹上去

可以通过Xshell调出图形界面。

gnome-terminal firefox &
最新回复(0)