vim的输入输出

##################### vim ##############################

vim的工作模式

#命令模式

#插入模式

#退出模式
#####################命令模式#######################
vim帮助方法

vimtutor    

在这里插入图片描述
vim工作参数设定
#临时设定

打开一个vim,以/etc/passwd为例

在这里插入图片描述

:set nu    首部显示数字

在这里插入图片描述

:set nonu   取消显示数字

在这里插入图片描述

:set mouse=a   显示鼠标(意思是鼠标可以在vim里点选)

在这里插入图片描述

:set cursorline  显示行线 

在这里插入图片描述

注意: 以上设定方式在vim退出后会还原默认
在这里插入图片描述

#永久设定打开vim /etc/vimrc
在这里插入图片描述

在末尾写

set nu
set mouse=a
set cursorline

在这里插入图片描述

退出后再打开一个vim
在这里插入图片描述

#3.字符管理

y ##复制

yl ##复制一个字母

y3l ##复制3个字母

yw ##复制一个单词

y3w #复制三个单词

yy ##复制一整行

y3y #复制三行

c ##剪切

cl #剪切一个字母

c3l #剪切三个字母

cw #剪切单词

c3w #剪切三个单词

cc #剪切一行

c3c #剪切三行

注意: 当用c做剪切动作后,vim会进入插入模式 如果需要粘贴那么要按退出插入模式 然后按p粘贴

d ##删除

dl #删除一个字母

d3l #删除三个字母

dw #删除一个单词

d3w #删除三个单词

dd #删除一整行

d3d #删除三行

p ##粘贴

u ##撤销

ctrl+r ##恢复

以上要进入vim的可视化模式才能完成

ctrl+v ##进入可视化模式

#可视化模式的批量添加以/etc/passwd为例,VISUAL BLOCK就表示进入该模式
在这里插入图片描述

ctrl+v 进入可视化模式只能用方向键选中要添加字符所在位置
在这里插入图片描述
按"I"进入插入模式写入字符例如asd
在这里插入图片描述
按批量添加字符出现
在这里插入图片描述

#5.字符的替换
以替换r为例/r
在这里插入图片描述

:%s/源字符/替换后字符		##只能替换每一行出现的第一个关键字
下图为r换b

在这里插入图片描述

:%s/源字符/替换后字符/g		##全文替换

在这里插入图片描述

s所有行,g表示所有列

:18,21s/源字符/替换后字符/g	##替换第18行到第21行的关键字

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

:/lp/,/halt/s/sbin/hello/g	##替换lp字符和halt字符之间的所有关进字 

例如替换21行Agont到nologin的r为hello

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

#6.在vim中编写多个文件vim file

:sp file1  在该窗口打开一个file1

在这里插入图片描述

 ctrl+w  上|下|左|右		###光标在窗口之间的移动 

在这里插入图片描述

ctrl+v左右分屏

在这里插入图片描述

ctrl+左右  #光标左右移动

在这里插入图片描述

#7.光标移动及字符搜索

#光标的移动

:数字 ##光标移动到指定的行

##光标移动到行首

##光标移动到行尾

G ##光标移动到最后一行

gg ##光标移动到第一行

#搜索字符

/关键字

n #向下匹配

N #向上匹配

##############插入模式#############

##光标所在位置插入

I ##光标所在行的行首插入

A ##光标所在行行尾插入

a ##光标所在字符的下个字符插入

s ##删除光标所在字符插入

S ##删除光标所在行插入

o ##光标所在行的下一行插入

O ##光标所在行的上一行插入

############退出模式#######

:q #退出,在打开文件后没有对文件做任何修改时可使用

:wq #退出保存,在对文件修改后并保存内容时使用

:q! #强制退出,在对文件做修改后要放弃修改时使用

:wq! #强制退出保存,在对属于自己的文件或你时root用户时使用

不规范退出如下
在这里插入图片描述

此操作后再进入这个文件时会显示

在这里插入图片描述
此时按d删除孤儿进程举行了

################linux中管理输入输出#################

#输出重定向

#> 重定向正确输出

2> ##重定向错误输出

&> ##重定向所有输出

“注意:重定向动作会覆盖源文件内容”

例子:用student用户登陆系统

find /etc/ -name passwd 	##此命令在student用户下执行因为权限问题会报错 

find /etc/ -name passwd >  file 

在这里插入图片描述
再输入一边该命令可知文件内容已被覆盖
在这里插入图片描述

find /etc/ -name passwd 2> file 

在这里插入图片描述

find /etc/ -name passwd &> file

在这里插入图片描述
#输出追加

“追加会把定向的输出放到原文件最后不会覆盖原文件”

#>>

2>>

&>>

find /etc -name passwd >>  file

在这里插入图片描述

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

find /etc -name passwd &>> file.all 

#输入管理

<<EOF
内容
EOF

cat > westos <<EOF
Q
W
E
EOF
在这里插入图片描述

管道 | ##把第一条命令的正确输出变成第二条命令的输入

2>&1 ##将编号位2的错误输出转换成编号为1

ls /bin | wc -l		##统计/bin中有多少文件 

用一条命令统计find /etc -name passwd所有输出结果数

find /etc -name passwd 2>&1 | wc -l find /etc/  -name passwd 2>&1  |wc -l cat file

在这里插入图片描述
如果想把结果显示在shell上的话需要tee命令

tee ##将输出复制一份到指定位置。

tee的用法是tee+要临时显示的文件

例如shell的话要选定其临时文件
在这里插入图片描述
换个命令,统计正确输出

find /etc -name passwd 2>&1 | wc -l find /etc/  -name passwd  | tee /etc/pts/0 |wc -l cat file

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qwefyjwww/article/details/82950466