1.vim编辑器

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。 

1.初识神器:vim

(1).vim的注意事项

编辑文件时a.当文件名称存在,那么进入文件直接编辑b.当文件名称不存在,vim会在退出保存时自动建立文件c.当vim命令后没有跟任何文件名称时,时无法实现":wq"退出保存的那么可以用":wq filename"(给新建文件命名并保存)

(2).当vim异常退出时,系统会建立.file.swp这个缓存文件

    这个文件中保存着没有":wq"动作保存的信息当用vim对文件做编辑的时候会提示O   ##只读打开E   ##直接忽略.file.swap信息编辑文件R   ##利用.file.swap进行为保存数据恢复D   ##删除.file.swapQ   ##退出A   ##终止

例如:

2.vim操作

ps:vim有三种模式
1.命令模式:在Linux终端中输入“vim 文件名”就进入了命令模式,查看文件内容,但不能输入文字。
2.编辑模式:在命令模式下按i/o/A等就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。
3.末行模式:在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。

下面所有带有:的操作都表示是在行末模式进行的操作!
1.命令模式

命令模式是vim打开文件后默认进入的模式,这个模式中不能插入字符,只能浏览文件内容。但是可以按 : 进入行末模式然后设定vim的工作方式:set 指定信息:set nu                    显示行数:set nonu               不显示行数:set cursorline       添加行线展示:set mouse=a        添加鼠标选择

注意:在vim中直接设定vim的工作方式是临时设定,也就是说当vim关闭,设定失效。如果要永久设定需要编写"/etc/vimrc".这个文件也是vim的配置文件。操作如下:

vim /etc/vimrc
直接在文件末尾插入想要的设置然后保存退出,重新打开vim即可看到效果

插入设置:

设置生效:

2.在命令模式下如何管理字符

按"x":删除光标所在字符
按"u":undo 恢复
按"ctrl+r":redo 撤销恢复
按"y":复制 "yw"        ##复制一个单词"yl"        ##复制一个字母"yy"        ##复制一整行"y5y"       ##复制5行
按"c":剪切"cw"        ##剪掉一个单词"cl"          ##剪掉一个字母"cc"         ##剪掉一整行"c5c"       ##剪掉5行

--------> 在命令模式下按“p“粘贴复制或剪切的字符
注意:用C做剪切时,会进入插入模式,如果要粘贴需要退出插入模式按<ESC>再按"p"

按"d":删除"dw"        ##删除一个单词"dl"          ##删除一个字母"dd"        ##删除一整行"d5d"       ##删除5行

3.vim的可视化操作

(1).可视化模式的基本操作在vim中是不能用鼠标选择区域操作的,如果要操作某个区域,需要进入到可视化模式在命令模式下 "ctrl + v"  就可以进入到可视模式了按"上|下|左|右"移动光标选择区域,按相应操作键就可以对选择区域进行操作

(2).可视化模式下批量添加字符1.把光标停留在想要加入字符所在的列的第一行2.移动光标选择添加字符所在列3."I"进入插入模式4.写入要插入的字符5.按"ESC"退出插入模式,字符批量添加成功


4.vim的字符替换(进入行末模式)

:%s/原有字符/新字符/g          #全文替换
:1,5s/原有字符/新字符/g        #替换1到5行的字符g   #替换出现的所有关键字,如果不加"g"只替换没行出现的第一个

输入字符替换的命令:

成功替换字符:

5.vim总字符的查找及光标的移动(行末模式)

1.字符的查找
:/关键字
n            ##向下匹配关键字
N           ##向上匹配关键子
2.光标的移动
:数字       ##光标快速移动到指定行
gg            ##光标移动到文件的第一行
G              ##光标移动到文件的最后以行

6.vim同时编辑多个文件

进入行末模式:sp filename      在当前vim另外打开一个新的文件
进入命令模式:ctrl + w   上          #光标进入上边文件窗口ctrl + w   下          #光标进入下边文件窗口

7.进入编辑模式

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

8.退出vim

:q         #当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q!       #当vim进入文件对文件内容有操作但不想保存退出
:wq     #正常保存退出
:wq!        #强行保存退出,只针对与root用户或文件所有人生效

一张图了解vim操作!

2.文件输入输出的管理

1.输入输出的定义

1.输入就是我们的键盘,鼠标和我们用这些硬件在系统只哦个录入的字符
2.输入就是系统接收到我们想要实现的功能字符后,经过进程的处理产生字符输入会有两种出现:编号1为正确输出编号2为错误输出默认着两种输出都会被系统定向到字符设备中

2.如何管理输入

1.非交互式多行录入编辑文件: vim test.sh写入内容:passwd保存并退出后执行命令:sh test.sh

虽然这样能正确运行,但不是多行录入
下面举例说明多行录入
新建一个example.sh结尾文件后,在文件中编辑如下内容:
passwd <<END
redhat
redhat
END
命令行执行sh example.sh
这样可以自动运行避免交互(以上操作将用户密码改为redhat)

还是实现了多行录入,成功x修改密码。

2.如何管理输出

重定向:重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作。>           重定向正确输出(将正确的输出 输出到指定地方,错误的输出则还是输出到默认地方)2>       重定向错误输出(将错误的输出 输出到指定地方,错误的输出则还是输出到默认地方)&>      重定向所有输出(将所有的输出都 输出到指定地方)2>&1     把错误输出的编号由2转换为1(将错误的输出变成正确的输出)

举几个栗子

find /etc/ -name passwd  > file.out        -----------> 查找/etc目录下所有名字叫passwd的文件并重定向使其将正确的查找结果输出到file.out中
find /etc/ -name passwd 2> file.out       -----------> 查找/etc目录下所有名字叫passwd的文件并重定向使其将错误的找结果输出到file.out中
find /etc/ -name passwd &> file.all        -----------> 查找/etc目录下所有名字叫passwd的文件并重定向使其将所有查找结果输出到file.all中

"注意:重定向是会覆盖原文件内容的!!!"
向文件追加内容:

保持原文件内容不变的情况下把输出追加到文件之后>>         追加正确输出2>>     追加错误输出&>>     追加所有输出

即一个>符号是覆盖,2个>符号是追加。
举几个栗子:

find /etc/ -name passwd >> westos
find /etc -name passwd 2>> westos
find /etc -name passwd &>> westos

最后文件内会有三次重定向的所有输出内容

3.管道

把上一程序(命令)的输出变成下一个程序的输入
(管道是用来组合多条命令的使用的)
栗子:ls /bin | wc -l      -----------> 查询/bin下所有文件然后把结果作为输入去统计这些文件的个数

注意:通过管道后输出会变成输入,那么是无法保存在文件中的.。另外,系统中错误的输出是无法通过管道的。

tee:复制输出到指定位置
举个栗子:ls /bin | tee file | wc -l
执行命令:cat file       可以看到file中已经保存了ls /bin的输出

grep:全局搜索表达式

    从结果中过滤出包含关键字的输出

转载于:https://blog.51cto.com/13885935/2150768

Linux(RadHat)基础学习—vim编辑器及文件的输入输出相关推荐

  1. Linux shell 基础之Vim编辑器

    vim编辑器在内存缓冲区中处理数据,如在启动vim时未指定文件名,或者这个文件不存在,vim会开辟一段新的缓冲区域来编辑. 如果你在命令行下指定了一个已有文件的名字,vim会将文件的整个内容都读到一块 ...

  2. _int64_在Linux对应对文件,LInux 编程基础学习笔记 持续ing 文件读写

    一.文件读写 1.创建文件: 头文件: 函数:creat(char *path,int mode)  mode:S_I(R|W|X)(USR|GRP|OTH)   对不同用户组的不同读写执行 2.打开 ...

  3. Linux编程基础学习2.2:文件操作、3.1:进程管理-1

    文件操作函数 1.stat函数 用于获取文件属性,包括文件的文件名.文件大小.文件类型等等 #include <sys/stat.h> int stat(const char *path, ...

  4. Linux基础(3) Vim编辑器与Shell命令脚本

    1.VIM文本编辑器 VIM编辑器的三大模式 命令模式: 控制光标移动,可对文本进行复制.粘贴和查找等工作 输入模式: 正常的文本录入. 末行模式: 保存或退出文档,以及设置编辑环境 三种模式的切换: ...

  5. Linux系统基本命令之vim编辑器的使用

    Linux系统下有很多编辑器,经常听到的就有:Emacs ,pico ,nano ,joe , vim等 一.     学习vim编辑器的原因 l  所有的Linux系统都会内置vi编辑器,而不一定会 ...

  6. scp创建远程目录_在Linux系统中使用Vim读写远程文件

    大家好,我是良许. 今天我们讨论一个 Vim 使用技巧--用 Vim 读写远程文件.要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件.从 Vim 7.x 开始,netrw.vim 就被 ...

  7. hosts文件 端口_在Linux系统中使用Vim读写远程文件

    大家好,我是良许. 今天我们讨论一个 Vim 使用技巧--用 Vim 读写远程文件.要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件.从 Vim 7.x 开始,netrw.vim 就被 ...

  8. Linux(2) vi和vim编辑器

    Linux(2) vi和vim编辑器 学习视频: https://www.bilibili.com/video/BV1Sv411r7vd?p=16&spm_id_from=pageDriver ...

  9. Linux上如何使用vim编辑器写代码

    Linux上如何使用vim编辑器写代码 也许很多朋友刚刚接触linux但不知道如何写程序 今天就带大家用一个简单容易上手的方式写一个hello程序 首先打开vim编辑器同时创建一个.c或.cpp文件 ...

  10. Linux入门教程——VI/VIM 编辑器

    前言 本文小新为大家带来 Linux入门教程--VI/VIM 编辑器 相关知识,具体内容包括VI/VIM是什么,VIM的三种工作模式介绍,包括:一般模式,编辑模式,指令模式,以及模式间转换等进行详尽介 ...

最新文章

  1. Ubuntu18.04安装keras(tensorflow)从无到有实录
  2. 14种东西帮你治疗口腔溃疡 - 生活至上,美容至尚!
  3. chmod 777命令_linux常用命令
  4. [转] yaml基础
  5. cad完全卸载教程_CAD室内设计中厨房布置实例
  6. 吴恩达深度学习1.3练习_Neural Networks and Deep Learning
  7. 信号与系统实验一 信号在MATLAB中的表示
  8. 几种比较好用的连接PostgreSQL的客户端
  9. 在Ubuntu系统上安装minidwep-gtk软件
  10. Linux上的Redis客户端软件G-dis3
  11. 企业员工管理系统(java实现版)
  12. 创蓝253云通讯paas平台PHP短信接口demo分享
  13. 使用fs传真模块mod_fax的一点点经验
  14. JAVA实现打字小游戏
  15. matlab cbfreeze,Matlab:如何在同一图中为不同的表面指定不同的色图/色块
  16. Halcon图像读取的方式
  17. 嵌入式裸机NandFlash和 SD/iNand学习笔记
  18. janusgraph编程指南之-Schema设计
  19. 万能乘法速算法大全_小学1—6年级必须掌握的数学速算法,超实用!
  20. 作为一名设计师我们应该如何设计好一个品牌LOGO

热门文章

  1. 82相似标准形03——不变因子、行列式因子、相抵标准形的唯一性、用求行列式因子法求标准形
  2. 5.6 Transformer-XL讲解 意境级
  3. 吸顶灯怎么固定天花板_吸顶灯怎么安装?家庭圆形吸顶灯底座安装步骤(图文解说)...
  4. python3.6.2安装pip_centos7 安装pip+python3.6以及pip安装错误解决办法
  5. php split to array,Split php varibale with JS into array
  6. 解决git push报错error: failed to push some refs to 的问题
  7. Linux查看当前系统的版本信息
  8. centos7安装python3.6独立的virtualenv环境
  9. MySQL中select * for update锁表的范围
  10. 批量将ANSI文本txt文件转换成UTF8编码格式 (vbs方法)