云计算百科
云计算领域专业知识百科平台

Linux实战|Vim编辑器全套快捷键 + Shell重定向详解

Linux Vim文本编辑 + 重定向实战笔记(CentOS7)

摘要:本文整理CentOS7下vim编辑器常用快捷键、文本编辑操作以及shell输入输出重定向全套实战。全部示例命令可直接复制运行,区分覆盖/追加、标准输出/错误输出,讲解/dev/null黑洞设备、here‑doc、tee工具,标注新手高频踩坑点,适合CSDN、语雀实验笔记与面试复习。

一、Vim编辑器

安装vim

# CentOS7安装vim
yum install vim

普通模式 — 光标定位

打开vim默认进入普通模式,下面快捷键均在普通模式执行

按键作用
gg 跳转到文档第一行
G 跳转到文档最后一行
w 向后移动到下一个单词开头
e 向后移动到下一个单词末尾
b 向前移动到上一个单词开头
^ / 0 跳转到当前行首
$ 跳转到当前行尾
( 跳转到上一个句子头部
) 跳转到下一个句子尾部
{ 跳转到上一个自然段开头
} 跳转到下一个自然段开头

文本选中(可视模式)

v # 字符选中,按方向键选中文本
V # 行选中,直接选中整行

普通模式 → 插入模式(编辑文本)

按键功能说明
i 在当前光标位置插入
I 跳转到行首,进入插入模式
a 在光标后面追加字符
A 跳转到行末尾,进入追加模式
o 在当前行下方新开一行并进入插入模式
O 在当前行上方新开一行并进入插入模式

普通模式 — 删除操作

x # 删除光标处单个字符;5x 删除往后5个字符
X # 删除光标前面一个字符

dw # 删除一个单词;d5w 删除向后5个单词
d3b # 删除向前3个单词
d$ # 从光标删除到行末尾
D # 等价 d$,从光标删除到行尾

⚠️注意:删除内容会存到vim缓冲区,可以粘贴。

撤销回退

u # 撤销上一次操作
U # 撤销当前行全部修改

普通模式 — 修改操作(删除后直接进入插入模式)

s # 删除当前光标字符,进入插入模式
S # 删除整行内容,进入插入模式

cw # 删除一个单词,直接进入编辑
C # 从光标删除到行尾,进入插入模式

普通模式 — 字符替换

r # 替换**单个字符**,替换完成直接回到普通模式
R # 持续替换模式,一直覆盖字符,按ESC退出回到普通模式

普通模式 — 复制(yank)

yy # 复制当前一行,等价 y1y
y3y # 复制连续3行

# 语法拆解:y(动作复制) + 数量 + 对象(y代表行/w单词)

二、Shell重定向

重定向:改变数据流输出方向,不再输出到屏幕,流向文件/设备

文件描述符:

描述符名称含义
0 stdin 标准输入,输入数据
1 stdout 标准输出,命令正常正确输出信息
2 stderr 标准错误,报错、异常信息

1> 等价于 >;0< 等价于 <

输出重定向

1. 1> / > 覆盖重定向标准输出

只保存正确输出,覆盖原有文件;报错依旧打印屏幕

# 将find正常结果覆盖写入passwd.list,权限报错打印屏幕
find /etc -name 'passwd' 1>passwd.list

2. 2> 覆盖重定向标准错误

只保存报错信息,覆盖原有文件;正确输出打印屏幕

# 报错写入passwd.err,匹配到的文件打印到屏幕
find /etc -name 'passwd' 2>passwd.err

3. 1>> / >> 追加标准输出

正确输出追加写入文件,不会覆盖旧内容;报错打印屏幕

find /etc -name 'passwd' >> passwd.list

4. 2>> 追加标准错误

报错信息追加写入文件,正确输出打印屏幕

find /etc -name 'passwd' 2>> passwd.err

黑洞设备 /dev/null

写入该设备的数据直接丢弃消失,常用于屏蔽报错信息

# 只看正常输出,把报错丢弃
ls /etc /abc 2>/dev/null

# 标准输出+错误全部丢弃,屏幕无任何输出
ls /etc /abc &> /dev/null

快速清空文件(覆盖空内容)

文件不存在会自动创建

> passwd.list
cat passwd.list

正确输出+错误输出同时写入同一个文件

# 通用写法,兼容绝大多数shell: >文件 2>&1
find /etc -name 'passwd' > passwd.log 2>&1

# bash专属简写 &>
find /etc -name 'passwd' &> passwd.all

✅面试考点:2>&1 不能写成 2>1;后者是把错误输出写入名字叫1的普通文件。

输入重定向 <

# 两条命令效果等价
cat passwd.list
cat < passwd.list

多行输入重定向 <<(Here‑Doc)

<<停止符,遇到匹配停止符结束输入,常用于快速生成配置文件

cat <<EOF > nginx.conf
> server {
> listen 80;
> }
EOF

# 查看生成的配置
cat nginx.conf

tee命令

tee:接收管道输入,一份输出屏幕,一份写入文件;本身不产生数据,依赖管道|

# tee 默认覆盖写入文件
# -a 参数:追加写入,不覆盖原有内容
cat nginx.conf | tee -a passwd.log

避坑总结

  • vim中不要混淆i/I、a/A、o/O;编辑完一定要按ESC切回普通模式。
  • >是覆盖,>>是追加,写日志优先用追加防止历史数据丢失。
  • 2>&1顺序不能乱,必须放在目标文件名后面。
  • /dev/null只是丢弃输出,不会杀死进程。
  • tee必须配合管道,单独执行tee会等待键盘输入。
  • 学习笔记小结【面试速记】

  • vim dd删除行,yy复制行;u撤销,U撤销整行修改。
  • 文件描述符:0输入,1标准输出,2错误输出。
  • > file 2>&1与&> file效果相同,后者仅bash支持。
  • <<EOF 为here‑doc,脚本中批量写配置高频用法。
  • tee作用:屏幕+文件双份输出,-a开启追加模式。
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » Linux实战|Vim编辑器全套快捷键 + Shell重定向详解
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!