Linux中的vi编辑器怎么用

发布时间:2021-11-06 18:07:47 作者:柒染
来源:亿速云 阅读:174

这期内容当中小编将会给大家带来有关Linux中的vi编辑器怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创建练习文件
[root@tianyun ~]# ll -a > list.txt
文件编辑器 gedit
文件编辑器 vi, vim, nano 

vi编辑器工作模式
Linux中的vi编辑器怎么用
命令模式:
a. 光标定位 
hjkl 
0 $ 
gg G 
3G 进入第三行 
/string (n N 可以循环的) 快速定位到某一行 
/^d
/txt$

b. 文本编辑(少量)
y 复制 yy 3yy ygg yG (以行为单位) 
d 删除 dd 3dd dgg dG (以行为单位) 
p 粘贴
x 删除光标所在的字符
D 从光标处删除到行尾
u undo撤销
^r redo重做
r 可以用来修改一个字符

c. 进入其它模式
a 进入插入模式
i 进入插入模式
o 进入插入模式
A 进入插入模式

: 进入末行模式(扩展命令模式)
v 进入可视模式
^v 进入可视块模式
V 进入可视行模式
R 进入替换模式插入模式:
^P可视块模式:
块插入(在指定块前加入字符): 选择块,I 在块前插入字符, ESC
块替换: 选择块,r 输入替换的字符 
块删除: 选择块,d | x
块复制: 选择块,y

扩展命令模式:
a. 保存退出
:10 进入第10行 
:w 保存 
:q 退出 
:wq 保存并退出 
:w! 强制保存 
:q! 不保存并退出 
:wq! 强制保存退出
:x 保存并退出 ZZ 

b. 查找替换
:范围 s/old/new/选项 
:1,5 s/root/yang/ 从1-5行的root 替换为yang 
:5,$ s/root/yang/ $表示最后一行
:1,$ s/root/yang/g = :% s/root/yang/g %表示全文 g表示全局
:% s#/dev/sda#/var/ccc#g
:,8 s/root/yang/ 从当前行到第8行
:4,9 s/^#// 4-9行的开头#替换为空
:5,10 s/.*/#&/ 5-10前加入#字符 (.*整行 &引用查找的内容)

c. 读入文件/写文件(另存为)
:w 存储到当前文件
:w /tmp/aaa.txt 另存为/tmp/aaa.txt 
:1,3 w /tmp/2.txt
:r /etc/hosts 读入文件到当前行后
:5 r /etc/hosts 读入文件到第5行后

d. 设置环境 
临时设置: 
:set nu 设置行号 
:set ic 不区分大小写
:set ai 自动缩进
:set list 显示控制字符
:set nonu 取消设置行号 
:set noic

永久的环境: 修改vim环境配置文件
/etc/vimrc 影响所有系统用户
~/.vimrc 影响某一个用户 
# vim ~/.vimrc 
set ic
set nu

删除一定要使用相对路径,不要使用绝对路径

# vim -O /etc/hosts /etc/hostname ^ww切换
# cp /etc/hosts hosts1
# vimdiff /etc/hosts hosts1 
==================================================================

创建文件
[root@localhost ~]# touch aa.txt
[root@localhost ~]# touch aa.txt cc.txt tt.txt
[root@localhost ~]# touch abc{1..10}.txt
[root@localhost ~]# touch {a,b,c}{1..3}.txt

创建目录
[root@localhost ~]# mkdir abc
[root@localhost ~]# mkdir abcd abce abcf
[root@localhost ~]# mkdir abc{1..5}
[root@localhost ~]# mkdir -p /root/aa/cc
[root@localhost ~]# mkdir -pv /root/aa/cc -p 递归 -v 显示过程

复制 cp
cp 源文件地址 目标地址
[root@localhost ~]# cp /root/abc1.txt /tmp/
[root@localhost ~]# cp /root/abc1.txt /tmp/test.txt 复制过程中重命名
复制目录
[root@localhost ~]# cp -r /root/abcd/ /tmp/
[root@localhost ~]# cp -r /root/abcd/ /tmp/aaa 重命名

剪切 mv
cp 源文件地址 目标地址
[root@localhost ~]# mv /root/tt.txt /tmp/
[root@localhost ~]# mv /root/tt.txt /tmp/back.txt
移动目录
[root@localhost ~]# mv /root/abcf/ /tmp/
[root@localhost ~]# mv /root/abcf/ /tmp/back

删除 rm rmdir
rmdir 只能删除空目录
rm 
[root@localhost ~]# rm aa.txt 
[root@localhost ~]# rm -f cc.txt
[root@localhost ~]# rm -rf abce/ 
[root@localhost ~]# rm -rf a1.txt a2.txt
[root@localhost ~]# rm -rf *.txt
[root@localhost ~]# rm -rf abc*
[root@localhost ~]# rm -rf *
[root@localhost ~]# rm -rf /install.log 

查看文件内容
head
[root@localhost ~]# head /root/install.log
[root@localhost ~]# head -n 20 /root/install.log
[root@localhost ~]# head -20 /root/install.log

tail
[root@localhost ~]# tail /root/install.log
[root@localhost ~]# tail -20 /root/install.log
[root@localhost ~]# tail -f /var/log/messages 监控日志文件

more 
[root@localhost ~]# more /root/install.log
空格向后一页 回车向后一行 b 向前一行

less
[root@localhost ~]# less /root/install.log

cat
[root@localhost ~]# cat -n /root/install.log
[root@localhost ~]# cat -n aa.txt 所有行
[root@localhost ~]# cat -b aa.txt 有效行 

[root@localhost ~]# cat -n /root/install.log | less练习:
1.创建以下目录结构?并且验证?(一条命令?)
/aa
/ \
bb/ bc/
/ \ \
ca/ cb/ cc/
[root@localhost ftp]# mkdir -pv /aa/bb/c{a,b} /aa/bb/cc
[root@localhost ftp]# mkdir -pv /aa/b{b/c{a,b},c/cc}
[root@localhost ftp]# ls -R /aa/
[root@localhost ftp]# tree /aa
/aa
├── bb
│   ├── ca
│   └── cb
└── bc
└── cc
[root@localhost ftp]# tree -L 2 / -L level2.将/etc/man.config拷贝到ca目录 (2种写法) 当前目录时/
[root@localhost ~]# cp /etc/man.config /aa/bb/ca/
[root@localhost /]# cp etc/man.config /aa/bb/ca/

3.将ca下的man.config移动到cc目录并重命名为test.txt(2种) 当前目录bb
[root@localhost bb]# mv /aa/bb/ca/man.config /aa/bc/cc/test.txt
[root@localhost bb]# mv ca/man.config /aa/bc/cc/test.txt

4.两次拷贝同一文件到同一目录下,不出现覆盖提示
[root@localhost ~]# \cp /root/install.log /tmp/
[root@localhost bb]# /bin/cp /root/install.log /tmp/install.log 

[root@localhost bb]# unalias cp
[root@localhost bb]# cp /root/install.log /tmp/install.log 

5.只显示/root/install.log文件的第1001行
[root@localhost bb]# cat -n /root/install.log | head -1001 | tail -1VIM文本编辑器
vim的3种基本模式:命令模式,输入模式,末行模式
由命令模式切换到输入模式:
a 当前字符后输入
A 当前行行尾输入
i 当前字符前输入
I 当前行行首输入
o 当前行下一行输入
O 当前行上一行输入
s 删除当前字符后输入
S 删除当前行后输入

命令模式下
u 撤销一步操作 
ctrl+r 重做
复制一行 yy 粘贴p
复制50行 50yy

剪切/删除一行 dd 
剪切/删除50行 50dd 

^行首 
$行尾
d^ 删除当前字符到行首
d$ 删除当前字符到行尾
y^
y$替换
:s/ab/**/ 替换当前行匹配到的第一个字符串
:s/ab/**/g 替换当前行所有的匹配字符串 s 替换 g 全局

4.打开新的标签ctrl+shift+t alt+1..... 切换标签 ctrl+shift+w 关闭标签 ctrl+shift+q 关闭所有终端
#bin 下的存的是命令
使用Shell的两种方式:
输入命令 效率低 适合少量的工作
Shell Script(脚本) 效率高 适合完成复杂,重复性工作
pwd 显示当前完整目录
# 表示我们当前使用的是超级账户
$ 表示我们当前使用的是普通账户
长主机名:zhuangyao.baidu.com
输入bash命令注意事项:
输入命令:
#命令 【选项】 参数 操作符
#ls 
所有命令后必须有空格(空格的个数没有上线)
tab:自动补全
没补全的原因: 命令写错 没有可执行权限
ctrl+c :中断当前的输入
常用快捷键:
Ctrl + c:终止命令
Ctrl + 上下左右: 以单词移动
移到命令行首 home
移到命令行尾 end

上述就是小编为大家分享的Linux中的vi编辑器怎么用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. linux如何退出vi编辑器
  2. linux中vi编辑器的练习心得

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux vi编辑器

上一篇:如何使用undo_retention参数与UNDO表空间GUARANTEE功能避免ORA-01555错误

下一篇:docker怎么修改容器名称

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》