vim的基本操作

一.vim
1.什么是vim
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim是自由软件件件它是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
2.vim的工作模式
1.命令模式
2.插入模式
3.退出模式
二.命令模式
1.vim帮助
方法(1)

vim
:help

如图
在这里插入图片描述
方法二

vimtutor

如图
在这里插入图片描述
2.vim工作参数设定
(1)临时设定

:set 参数信息
:set nu             在每一行前显示行号
:set nonu           取消行号显示
:set mouse=a        显示鼠标
:set cursorline     显示行线

如图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:

在vim程序中设定的vim工作方式是临时的,在vim关闭后会还源
如果要永久保存vim的工作方式需要编辑vim的配置文件:/etc/vimrc
(2)永久设定

vim /etc/vimrc
set nu
set mouse=a
set cursorline

ps:
以上操作必须用root用户才能完成
3.字符管理

y	 复制
yl	 复制一个字母
y3l      复制三个字母
yw	 复制一个单词
y3w	 复制 三个单词
yy	 复制 一整行
y3y      复制3行
c 	 剪切
cl       剪切1个字母
c3l      剪切3个字母
cw       剪切1个单词
c3w      剪切3个单词
cc       剪切1行
c3c      剪切3行
"注意:   在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按(p)粘贴" 
dl       删除一个字母
d3l      删除3个字母
dw       删除1个单词
d3w      删除3个单词
dd       删除1行
d3d      删除3行
p        粘贴
u        撤销
ctrl+r   恢复撤销

4.vim的可视化模式
ctrl + v ##在这个模式下可以选择区域操作
批量添加字符
ctrl + v 选中要加入字符所在的列
按大写的I
加入字符
按【esc】
5.字符的替换

:%s/源字符/替换后字符		    每一行出现的第一个关键字
:%s/源字符/替换后字符/g		    全文替换,s所有行,g表示所有列
:3,5s/源字符/替换后字符/g	            替换第三行到第五行的关键字
:/lp/,/halt/s/sbin/hello/g	    图还lp字符和halt字符之间的所有关进字

如图
在这里插入图片描述
在这里插入图片描述
ps:%s标示所有的行,g标示所有的列
6.在vim中编写多个文件和vim如何分屏

vim filesp 
:sp file1
 ctrl+w s      上下分屏
 ctrl+w v      左右分屏
 ctrl+w c     光标所在屏幕
 ctrl+w 上下左右     光标移动到指定屏幕

7.光标移动及字符搜索
(1)光标的移动

:数字		##光标移动到指定的行
<HOME>		##光标移动到行首
<END>		##光标移动到行尾
G		##光标移动到最后一行
gg		##光标移动到第一行

(2)搜索字符

/关键字
n	#向下匹配
N	#向上匹配

8.插入模式

i		光标所在位置插入
I		光标所在行的行首插入
A		光标所在行行尾插入
a		光标所在字符的下个字符插入
s		删除光标所在字符插入
S		删除光标所在行插入
o		光标所在行的下一行插入
O		光标所在行的上一行插入

9.退出模式

:q	 退出,在打开文件后没有对文件做任何修改时可使用
:wq	 退出保存,在对文件修改后并保存内容时使用
:q!	 强制退出,在对文件做修改后要放弃修改时使用
:wq!	 强制退出保存,在对属于自己的文件或你时root用户时使用

二.linux中管理输入输出
1.输出重定向


>		##重定向正确输出
2>		##重定向错误输出
&>		##重定向所有输出

注意:重定向动作会覆盖源文件内容
如图
在这里插入图片描述
例:
注意:以下实验必须在student用户下完成
ind /etc/ -name passwd ##此命令在student用户下执行因为权限问题会报错

find /etc/ -name passwd  > file         定向正确输出到file
find /etc/ -name passwd  2> file.err    定向错误输出到file
find /etc/ -name passwd  &> file.all    定向所有输出到file
> file                #清空file

如图:
在这里插入图片描述
2,.输入重定向

cat >file <<EOF
hello
WORLD
EOF

如图
在这里插入图片描述
3.输出追加
注意:追加会把定向的输出放到原文件最后不会覆盖原文件

>>        追加正确输出到文件最后
2>>       追加错误输出到文件最后
&>>       追加所有输出到文件最后

示例:

find /etc/ -name passwd  >> file           ##追加正确输出到file
find /etc/ -name passwd  2>>   file.er  r  ##追加错误输出到file
find /etc/ -name passwd  &>>   file.all    ##追加所有输出到file

如图
在这里插入图片描述
三管道
1.管道的作用

|	##把第一条命令的正确输出变成第二条命令的输入
2>&1	##将编号位2的错误输出转换成编号为1
tee	##将输出复制一份到指定位置

注意:
管道只允许正确输出通过
通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的
如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”
例子:

find /etc/ -name passwd | wc -l     ##会看到的结果为2,因为错误输出不能通过管道
find /etc -name passwd 2>&1 | wc -l
find /etc/  -name passwd 2>&1 | tee file |wc -l 
cat file

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值