vim

编辑文件内容 - 三种模式的切换

图片.png

末行模式
:q 退出编辑
:w 保存文本
:wq 保存并退出
:q! 强制退出

:set nu 显示行号
:set hlserch 高亮显示
:set nohlserch 取消高亮显示

/string 全文搜索,从上到下
?string 全文搜索,从下到上
举例:/c 全文搜索c

$ 文件尾 s:搜索替换的意思

:1,$ s/oldstring/newstring 从第一行 到文件尾 ,每行第一个oldstring替换为newstring
:1,$ s/oldstring/newstring/g 从第一行到文件尾,全文oldstring替换为newstring 
1,$ num1,num2 ?????
.,$ 从当前到文件尾
命令模式:

所有命令都不涉及当前行,操作对象只是包含,并不会改变当前行
光标快速移动:

gg 移动到文本第一行
shift + g 移动到最后一行
num shift + g 移动到指定行num
shift + 6 移动到当前行首位置
shift + 4 移动到当前行末尾

删除:

dd 删除当前行
num dd 从光标处开始,往下删除num行
d num shift+g ,删除 从num行号开始到光标处

撤销/恢复

u 撤销上一次操作
ctrl + r 恢复上一次操作

复制

yy 复制光标所在行
num yy 从光标处开始,往下复制num行
y num shift+g ,复制 从num行号开始到光标处

粘贴

p 粘贴复制的 或者 删除的内容

设置你的vim

设置TAB指定空格
在~目录下,创建.vimrc

set nu  
set autoindent  
set cindent  
set tabstop=4  
set shiftwidth=4  
set smartindent  
set showcmd  
set mouse=a  
set background=light  
set clipboard+=unnamed  
set foldenable  
set foldmethod=indent  
set foldmethod=syntax  
set foldmethod=syntax  
set nofoldenable  
syntax on

文件内容操作

查看文件内容

查看部分内容

more filename q退出,回车翻看 n%的显示

//退出后内容仍显示在屏幕上
more passwd

less filename q退出 ,上下左右翻看 (END结束)

less passwd
//退出后,屏幕干干净净
head -num filename 显示文件前num行内容
head -5 passwd //前五行内容

tail -num filename 显示文件后num行内容

tail -5 passwd
查看全部内容
cat filename
//注意,若文件过大,屏幕是显示不全的,因为有限制
cat其实不主要是用于查看文件内容
cat
1.查看文件内容
2.合并文件内容
cat namea nameb .... namen > namec
[root@localhost 2020-3-6]# touch a.cpp b.cpp
[root@localhost 2020-3-6]# ls
a.cpp  b.cpp
[root@localhost 2020-3-6]# vim a.cpp
[root@localhost 2020-3-6]# vim b.cpp
[root@localhost 2020-3-6]# more a.cpp
abcd
[root@localhost 2020-3-6]# more b.cpp 
efjh
[root@localhost 2020-3-6]# cat a.cpp b.cpp > c.cpp
[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp
[root@localhost 2020-3-6]# more c.cpp
abcd
efjh
3.重定向 : 这里指写入一些内容
cat > filename
//注意,Ctrl+c 必须另起一行
[root@localhost 2020-3-6]# cat > chong.c
hello man
hello women
^C
[root@localhost 2020-3-6]# more chong.c 
hello man
hello women
[root@localhost 2020-3-6]# cat > rechong.c
hello^C
[root@localhost 2020-3-6]# more rechong.c 
[root@localhost 2020-3-6]# 

搜索文件内容

find 目录名 -搜索方式 目标文件名

[root@localhost 2020-3-6]# find / -name bin
/sys/kernel/debug/tracing/options/bin
/bin
/usr/share/locale/bin
/usr/bin
/usr/lib/debug/bin
/usr/lib/debug/usr/bin
/usr/local/bin

文本的统计

wc -l filename //统计filename的行数
wc -w filename//统计单词数
wc -c filename//统计字节数

文件的压缩与解压

图片.png
最常见的两种:
图片.png

.tgz文件 一键打包压缩/解压解包⭐

tar zcf tarname.tar 文件1 文件2 //一键压缩
tar zxf tarname.tar //一键解压

tar选项:
z 使得tar命令同时具有压缩和解压的功能(GUN版本以后)
一键打包压缩过程
[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp  chong.c  rechong.c
[root@localhost 2020-3-6]# tar -zcf newtar.tgz *.cpp *.c
[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp  chong.c  newtar.tgz  rechong.c
一键解压解包过程
[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp  chong.c  newtar.tgz  rechong.c
[root@localhost 2020-3-6]# rm *.cpp
[root@localhost 2020-3-6]# rm *.c
[root@localhost 2020-3-6]# ls
newtar.tgz
[root@localhost 2020-3-6]# tar zxf newtar.tgz
[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp  chong.c  newtar.tgz  rechong.c

.tar.gz文件的打包压缩和解压解包⭐

压缩文件分为两个步骤:

1.打包 tar :把需要的文件塞到一个包里
2.压缩 gzip :把这个包压小

解包解压文件分为两个步骤:

1.解压 gzip -d zipname.tar.gz
2.解包 tar xf tarname.tar
文件的打包 c

tar 选项 压缩包名.tar 文件1 文件2
tar cf name.tar file1 file2
//把文件1,和文件2 打包进压缩包

tar选项:
 c 创建文件
 f 指定目标为文件(而不是设备)

 v 显示过程
 x 释放包文件
 t 显示包文件中的内容

[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp  chong.c  rechong.c
[root@localhost 2020-3-6]# tar cvf newtar.tar *.cpp *.c
a.cpp
b.cpp
c.cpp
chong.c
rechong.c
[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp  chong.c  newtar.tar  rechong.c
文件的压缩

gzip newtar.tar
对.tar文件进行压缩,变成.tar.gz压缩文件

[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp  chong.c  newtar.tar  rechong.c
[root@localhost 2020-3-6]# gzip newtar.tar 
[root@localhost 2020-3-6]# ls
a.cpp  c.cpp    newtar.tar     rechong.c
b.cpp  chong.c  newtar.tar.gz
-rw-r--r-- 1 root root 10240 Mar  7 13:14 newtar.tar
-rw-r--r-- 1 root root   221 Mar  7 12:53 newtar.tar.gz
文件的解压

gzip -d zipname.tar.gz

[root@localhost 2020-3-6]# ls
newtar.tar.gz
[root@localhost 2020-3-6]# gzip -d newtar.tar.gz 
[root@localhost 2020-3-6]# ls
newtar.tar
文件的解包 x

tar tf tarname.tar
//查看包文件

[root@localhost 2020-3-6]# tar tf newtar.tar 
a.cpp
b.cpp
c.cpp
chong.c
rechong.c

tar xf tarname.tar
//解包

[root@localhost 2020-3-6]# ls
newtar.tar
[root@localhost 2020-3-6]# tar xf newtar.tar 
[root@localhost 2020-3-6]# ls
a.cpp  b.cpp  c.cpp  chong.c  newtar.tar  rechong.c
tar选项:
 x 释放包文件
 f 指定目标为文件(而不是设备)
 t 显示包文件中的内容
 v 显示过程

 c 创建文件


Akuaner
7 声望3 粉丝