vim
编辑文件内容 - 三种模式的切换
末行模式
: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//统计字节数
文件的压缩与解压
最常见的两种:
.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.解包 tarxf
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 创建文件
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。