Linux中的nano、vim 和 sed

本文详细介绍了Linux环境下三种常用文本编辑器:nano、vim和sed的功能及使用方法。nano适合初学者,提供简单直观的操作;vim功能强大,支持语法高亮等多种特性;sed作为流编辑器,适用于批处理和脚本编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux中的nano、vim 和 sed

一、nano: linux中一款简单易用的全屏幕编辑器.

1、编辑文件的方法:nano 文件名;(也可以不跟文件名,编辑完成后,保存退出时给出文件名.如果文件名为:/etc/a/b/c.txt,并且/etc目录下面没有/a和/b目录,则可以打开文件进行编辑,但是无法保存.)

2、nano的基本操作:

    1)保存:ctrl o enter键;(如果在未做好修改之前,按下ctrl o键,可以在提醒保存文件名的时候,按下ctrl c,不保存继续编辑该文件.)

    2)退出:ctrl x.

    3)剪切:ctrl k.(如果要剪切连续的多行,则连续按ctrl k;如果需要精确剪切的话,则使用ctrl 6 ↑或者↓或者←或者→键,选择需要剪切的内容,则被选中的内容会反白,然后按下ctrl k.如果要取消刚才的选择的话,则再次按下ctrl 6键,则反白内容消失.)

   4)粘贴:ctrl u.(也可以点击右键选择“paste”)

   5)搜索:ctrl w.(只能搜索到匹配字符的第一个.)

   6)插入行:按下enter键.

   7)移动光标和换行:↑↓←→键.

   8)复制:用鼠标拖动需要复制的行,点击右键选择“copy”.

   9)上翻页:ctrl y.

   10)下翻页:ctrl v.

   11)查看帮助文档:ctrl g.(在帮助文档里面,^表示ctrl键,M表示alt键.)


二、vim:支持语法高亮和各种各样的操作命令. 

1、vi 的提升版纯文本模式化编辑器.

2、Vim常用的模式: 编辑模式(命令模式): 输入模式(插入模式):末行模式:

3、Vim中模式的转换:编辑——>输入模式:按下i o a s c I O A S C (掌握住一两个即可)

   i :在当前光标前插入字符;

   I :从行首插入字符;

    o : 切换到光标所在行的下方插入;

   O :切换到光标所在行的上方插入;

   a :在当前光标所在处的后面插入;

   A :在当前光标所在行的行尾插入;

   s :删除光标所在处字符并进行插入;

   S :删除光标所在行并进行插入;

   c :双击c 删除光标所在行并进行插入;(可以跟数字结合使用)

   C :删除光标所在处以及该行后面的字符并进行插入;

   输入模式——>编辑模式:按ESC键.

   编辑模式——>末行模式:输入“:”.

   末行模式——>编辑模式:按下ESC键或者双击ESC键;

   末行模式——>输入模式: 通过ESC键到达编辑模式,再通过编辑模式到达 输入模式.(输入模式——>末行模式同理)

4、vim n 文件名:打开文件,使光标直接处于某一行内;(n表示行号)

5、vim [options] 文件1 文件2 文件3…… 一次打开多个文件;:next ,表示切换到第二个文件;:first ,表示切换到第一个文件; :last ,表示切换到一个文件;:prev ,表示切换到前面一个文件;:qall ,表示所有的文件都退出了; :wqall ,表示所有的文件都保存退出了;

6、vim /PATTERN/ 文件名:打开文件,使光标处在该匹配字符串的行首;(/PATTERN/表示匹配的字符串);

7、保存退出:在末行模式下输入:wq;或者ZZ

8、如果同时退出多个文件的话:在末行模式下输入:wqall;

9、强行保存退出:wq!

10、不保存退出:q

11、不保存强行退出:q!

13、光标移动:#h键;向左侧移动;(#表示数值,如5h,表示向左侧移动5个字符) #L键:向右移动; #J键:向下移动; #K键:向上移动;

14、词间跳转:w:跳到下一个单词的词首; e:向后跳,跳到单词的词尾; b:向前跳,跳到单词的词首;

15、句间跳转:( 向上跳一句; )向下跳一句;(可以跟数字结合使用)

16、段间跳转: { 向上跳一段; } 向下跳一段;(可以跟数字结合使用)

17、0或者^ :跳到当前所在行的行首;(0表示跳到绝对行首,^表示跳到第一个非空白字符处)

18、$:跳到当前所在行的行尾;

19、G:跳转到文件尾部;但当跟数字结合时,表示跳转到第几行.例如:10G,表示跳转到第十行;

20、1G: 跳到文件的首部;

21、在末行模式下实现行间跳转:例如跳到19行,则:19,然后按enter键.

22、ctrl f:向后翻一屏; Ctrl b:向前翻一屏; Ctrl d:向后翻半屏; Ctrl u:向前翻半屏;

23、x:删除光标所在处的字符;3x:删除光标所在处的字符及其后两个字符;X:删除光标前面的内容;

24、d:删除行;5d,向后删除5行;dw:删除一个字符;3dw:向后删除3个单词;

25、r:在光标所在处替换.例如:r5:将光标处的字符替换为5.5rA:将光标所在处及其后四个字符都换成A;

26、R:进入到替换模式.

27、u:撤销最近一次的编辑操作;(默认可以撤销50次操作,该值是可以调整的);

28、ctrl r:撤销刚才的撤销操作;

29、重做: . 重复执行上一条命令;

30、y:复制,y$:复制当前光标到行尾的内容; yy : 复制该行内容; #yy:复制n行内容;

31、当复制的内容为整行时,小p:粘贴,在当前光标所在行的下方粘贴; 当复制的内容为整行时,大P:在当前光标所在行的上方粘贴;当复制的内容非整行时,小p表示在光标所在处的后方粘贴,大p表示在光标所在处的前方粘贴;

32、剪切:d 和 p 配合使用;

33、可视化模式:v:按字符选取;V:按行选取;可与p 、y d 等配合使用;

34、/ 或者 ? 后跟字符或者字符串:例如:/word 或者 ?word;n或者N:查看下一个查找到的匹配字符串;

35、s:搜索并替换;该命令要在末行模式下执行,格式为::ADDR1,ADDR2s/from/to/flags (黄色的表示分隔符,可以使用特殊字符进行替换,例如使用@ 或者#等) (flags:g 表示如果某行有多个都被匹配到,则多个都被替换掉;i 表示不区分大小写)(ADDR1,ADDR2: m,n:表示第m行到第n行;1,$:表示从第一行到一行; . ,$:表示从光标所在行到一行; . , 8:表示从当前行到后面第8行; 1,$-1:表示从第一行到倒数第二行; %s :表示全文搜索;)(/from/的内容可以使用正则表达式匹配,/to/的内容不能使用正则表达式匹配,但可以使用\1来引用小括号的内容).

36、ctrl w, s键:水平分屏; Ctrl w, v键:垂直分屏; Ctrl w,↑↓←→:在分屏间进行切换; Ctrl w,t:切换到第一个分屏; Ctrl w,b:切换到一个分屏; Ctrl w,l:切换到左边的分屏; Ctrl w,r:切换到右边的分屏; :q ,表示退出当前分屏;:qall,表示退出所有分屏; Vim –o文件1 文件2文件3:表示水平分割多个文件; Vim –O 文件1 文件2文件3:表示垂直分割多个文件;

37、显示行号: :set nu(如果想要其永远生效,则需要编辑vim的配置文件,在里面加上该行命令.)取消行号: :set nonu

38、vim的配置文件:全局的:/etc/vimrc ,该配置文件中,双引号表示注释的内容.个人的:~/vimrc

39、自动缩进: :set ai(autoindent) 取消自动缩进: :set noai

40、语法高亮: syntax on|off 搜索高亮: set hlsearch取消搜索高亮:set nohlsearch


三、sed:(stream editor)行编辑器.

特点:

1、非交互式编辑器;

2、没有破坏性,不修改原文件,除非使用shell的重定向符来保存结果;

3、sed也支持sed脚本.其工作原理为:将一行文字读到内存空间(该内存空间称为sed的模式空间)里面去,做完处理之后,再输出到屏幕上.sed 的模式空间:即能被sed匹配到的字符串被存放到的内存空间.

sed的使用格式:sed [options] [file]

1】sed “ADDR1,ADDR2COMMAND” FILE表示文件中被ADDR1和ADDR2匹配到的行用什么命令来处理. 例如:sed 1,4d aa.sh—————————>表示删除文件aa.sh中第一行到第四行的内容.1,4d可以加引号,也可以不加引号.

2】sed /PATTERN/COMMAND FILE 表示文件中被PATTERN匹配到的行采用什么命令来处理.

3】sed /PATTERN1/,/PATTER2/COMMAND FILE 表示文件中从被PATTERN1匹配到的行开始至第一次PATTERN2匹配到的行结束采用什么命令来处理.被

4】sed /PATTERN/p FILE 表示文件中被匹配到的行重新显示一次@等特殊字符来替换/,有时会出错.,原文件也显示一次.最好不要使用

5】sed -n /PATTERN/p FILE:只显示被模式匹配到的行而不再显示原文件.

6】sed ‘#a\STRING’ FILE:在某一行或某几行后面添加字符串.如果字符串中有空格,加上‘’或者“”,否则会报错.例如:sed ‘2,5a\my love!\nmy big house’ d.sh (\n表示换行) 在第二行到第五行的每行后面添加两行.

7】sed ‘#i\STRING’ FILE:在某一行或者某几行前面添加字符串.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值