Linux入门(3)——vim详细用法及系统输入输出管理

Linux入门(3)——vim详细用法及系统输入输出管理


1. vim工作环境配置

- 在命令模式下临时更改vim工作环境

输入指令效果
:set nu显示行号
:set nonu取消行号显示
:set mouse=a鼠标可用
:set cursorline显示光标所在行的行线

- 改变默认vim工作环境

[redhat@localhost ~]$ vim /etc/vimrc 	#在vimrc中添加相应的设置指令(不用输入:)

- 为不同用户设置vim工作环境

[redhat@localhost ~]$ vim ~/.vimrc	#在vimrc中添加相应的设置指令,针对不同用户

2. vim基本操作命令

- 搜索指定关键词

  在命令模式下输入 /关键字 搜索关键字并高亮显示 ;
输入 :noh 取消高亮; N 向上匹配; n向下匹配。

- 字符操作

复制指令效果
y复制快捷键
yl复制一个字母
y3l复制三个字母
yw复制一个单词
y3w复制三个单词
yy复制一行
y3y复制三行

删除指令效果
d删除的快捷键
dlx删除一个字母
d3l删除三个字母
dw删除一个单词
d3w删除3个单词
dd删除一行
d3d删除3行

剪切指令效果
c剪切
cl剪切1个字母
c3l剪切3个字母
cw剪切1个单词
c3w剪切3个单词
cc剪切1整行
c3c剪切3行

  剪切操作完成后会直接进入插入模式,退出插入模式在命令模式按P进行粘贴
  在命令模式下:
  U:向前撤销
  R:向后恢复

- 批量字符替换操作

匹配格式举例解释
:%s/原字符/替换字符/g%表示全文的行,g表示全文的列
1,5s/原字符/替换字符/g## 1-5行,所有列
/string1/,/string2/s/原/替换/g/string1/,/string2/ lp字符到halt字符之间的行,所有列

- 可视化操作

  在命令模式下,按Ctrl+V,进入可视化模式,按Esc退出,在该模式下可以批量对字符进行操作处理。

  • 进入可视化模式,选中需要处理的行或者列;
  • 输入大写I进入插入模式;
  • 插入要写入的字符;
  • Esc退出。

- 分屏操作

  • 同步分屏
    ctrl+ ws:上下分屏
    ctrl+ w v:左右分屏
    ctrl + wc :取消分屏
  • 异步分屏
    命令模式下输入 :sp filename 打开另外的文件

- 光标相关指令

操作效果
gg光标移动到文件第一行行首
G光标移动到最后一行
:数字光标移动到指定行
i光标所在位置插入
I光标所在行行首插入
A光标所在行的行尾插入
a光标所在字符的下一个字符插入
o光标所在行的下一行插入
O光标所在行的上一行插入
s删除光标所在字符插入
S删除光标所在行插入

2. 输入输出

  在交互式的程序中,输入来自用户的键盘和鼠标,结果输出到用户的屏幕。Linux中有标准输入输出相关信息如下:

类型文件描述符默认情况对应文件句柄位置
标准输入(standard input)0从键盘获得输入/proc/self/fd/0
标准输出(standard output)1输出到即控制台/proc/self/fd/1
错误输出(error output)2输出到控制台/proc/self/fd/2

  标准输入输出可以通过操作符进行重定向,实现不同的用途。

操作符功能
>重定向正确输出(覆盖)
2>重定向错误输出(覆盖)
&>重定向所有输出(覆盖)
>>追加正确输出
2>>追加错误输出
&>>追加所有输出
|前一条命令的输出传递到下一条命令作为输入
2>&1重定向错误输出至正确输出(不覆盖)
<输入重定向,可将操作符后的内容重定向至操作符前作为输入
<<多行录入,以任意字符开始,再次遇到相同字符结束,输入至之前命令
[redhat@localhost ~]$find /etc -name passwd > westos.out ##重定向正确输出
[redhat@localhost ~]$find /etc -name passwd 2> westos.out ##重定向错误输出
[redhat@localhost ~]$find /etc -name passwd &> westos.out ##重定向所有输出
[redhat@localhost ~]$find /etc -name passwd 2>&1 | tee /dev/pts/0 |cat -n	# 输出回显 带行号
[redhat@localhost ~]$tr 'a-z' 'A-Z' < file	# 输入重定向 将file内容中的小写字母替换为大写字母
[redhat@localhost ~]$tr 'a-z' 'A-Z' <<EOF ..... EOF	# 输入重定向 多行录入以EOF为标识 将中间内容重定向至之前的命令

  系统空设备文件/dev/null,当输出重定向至空设备文件时表示丢弃数据。

[redhat@localhost ~]$ find /etc -name passwd 2>&1 1>/dev/null | wc -l #显示错误输出行号

3. 练习在这里插入图片描述

[redhat@localhost ~]$find /etc -name passwd  2>/dev/null
[redhat@localhost ~]$find /etc -name passwd 1>/tmp/westos.out 2>/tmp/westos.err
[redhat@localhost ~]$find /etc -name passwd 2>&1 |tee /tmp/westos.all|wc -l
[redhat@localhost ~]$find /etc -name passwd 2>&1 | tee /dev/pts/0 |cat -n
[redhat@localhost Desktop]$ cat test.sh 
cat > westos.file <<EOF
hello linux
hello westos
hello linux
westos linux is very nice !!
EOF

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值