Linux笔记【005】| vim编辑器使用教程

Vim是Linux下一款编辑器软件,它的地位等同于windows下的notepad(记事本)。其功能上要比windows的记事本要强上很多倍,这个vim在开发行业来说,有一个称号“编辑器中的神器”。

1.准备工作

先将/etc/passwd复制一份,复制到当前的用户工作目录(/root),后期的vim操作都会在这个工作目录下进行修改。

#cp /etc/passwd ./passwd

2.打开文件

第一种方式:#vim 需要打开的文件

例如:打开当前目录下的passwd,则命令可以写成

#vim ./passwd

回车后就打开文件了。

提示:如果想从文件内容中退出可以输入“:q”,然后回车退出。

第二种方式:#vim +数字 需要打开的文件(打开文件之后快速的将光标定位到数字指定的行)

命令:

#vim +6 ./passwd

提示:vim默认是不显示行号的,我的会显示,是因为我修改过配置文件,如果你的不显示,想在当前文件中显示出行号可以输入:set nu,然后按下回车就可以显示出行号,如下:

第三种方式:#vim +/字符串 需要打开的文件(打开文件,之后高亮显示/后的字符串)

#vim +/login ./passwd

例如:使用vim打开当前目录下的passwd文件,并且高亮显示“login”

如果这个时候想在搜索高亮结果中进行光标的快速跳转,可以按下键盘上的“n”(向下切换),或者按下“N”(向上切换)。

如果想去除高亮显示,则可以输入:nohl,按下回车即可。(no highlight)。还有,腾讯云服务器从网页端登录,没有高亮效果。

特别说明:

以上三个打开文件的方法,都有一个共同的特点,当打开的文件不存在的时候,它会以新文件的方式进行打开。

3.vim的三种模式

在vim中存在三种模式:命令模式、末行模式、编辑模式。

三个模式之间的相互关系:

默认是命令模式,如果说需要进入到末行模式,则可以在命令模式中按下英文“:”。

(1)末行模式

保存语法:

:w (write)

另存语法:

:w 文件的路径

退出语法:

:q(quit)

输入:wq,回车保存退出。

提示:有些时候,如果对当前编辑的文档已经进行了修改,但是又不想保存想直接退出,则可以输入:q!,同样也有:wq!。其中的感叹号表示强制的意思。

a.查找语法(末行模式下):

/字符串

对于查找的结果,同样会和打开文件的第三种方式一样,进行高亮显示,可以使用N和n进行上一个和下一个结果的切换。

末行模式下输入/root

b.替换

第一种情况,语法:

:s/需要替换的字符串/替换成的字符串(表示替换当前光标所在的行的第一处符合条件的字符串)

如果当前行没有要替换的内容,会有提示,比如光标在第一行,想查找login替换为logout。

:s/login/logout

就会出现这样的提示:Pattern not found: login

将光标移到第二行,再替换。

第二种情况,语法:

:s/需要替换的字符串/替换成的字符串/g (替换光标所在行全部符合条件的地方,g表示global)

例如:

s/bin/BioInfoNotes/g

第三种情况,语法:

:%s/需要替换的字符串/替换成的字符串 (表示替换当前文档中每一行第一个符合条件的地方)

例如:

%s/bin/BioInfoNotes

第四种情况,语法:

:%s/需要替换的字符串/替换成的字符串/g (替换整个文档中全部符合条件的地方)

例如:

%s/BioInfoNotes/bin/g

(2)命令模式

编辑模式就是使用vim打开一个文件后的一个默认模式。

光标移动:

  • 将光标在默认的命令模式中快速的定位到文档的最后一行,可以按下按键G。

  • 将光标从命令模式中快速的切换到文档的第一行,可以按下按键gg。

  • 将光标快速的定位到当前文档中的指定行,可以输入数字G。

  • 将光标以当前行为准,向上或者向下移动指定的行数,可以输入数字↑/↓。

删除命令:

  • 删除当前行,可以使用按键dd,删除之后下一行上移。

  • 删除当前行,下一行不上移,可以按下键盘的按键D,删除之后当前行留空。

  • 删除多行,可以使用数字dd,表示以光标所在行为基准,向下删除指定的行数。

  • 特别说明:在vim中,删除命令和剪切命令是一样,已经删除的内容可以通过粘贴命令显示出来。

复制命令:

  • 复制当前行,可以在光标所在的行按下键盘按键yy。

  • 复制多行,可以按下数字yy,表示以当前行为准,向下复制指定的行数。

  • 复制完成之后可以按下按键p,进行粘贴,粘贴是粘贴在光标所在行的下一行开始。

(3)编辑模式

编辑模式中没有什么像之前的命令。需要记住的就是如何进入/退出编辑模式。进入编辑模式,可以按下i键或者a键。a键表示在光标的下一个字符处,after insert。I键表示在光标所在的位置进行编辑,insert。退出编辑模式,按下键盘的esc键就可以退出编辑模式。

4.vim知识扩展

(1)默认显示行号

在一般情况下,vim是默认不显示行号的,我们可以通过在末行模式中输入set nu来让当前文件显示行号。

但是在关闭之后再次打开又不会显示行号。如何让vim直接默认显示行号呢?解决办法:

修改vim的配置文件进行配置。Vim的配置文件在当前用户的家目录中(如果没有的话自己创建,文件名字叫做.vimrc)。然后在.vimrc文件中,进入编辑模式,然后输入set nu,输入完毕之后退出保存 。

vim .vimrc

(2)别名机制

在以后的工作中,我们可能会看到这种情况:我们自己现在使用的清屏命令是clear,可能会看到有些人在使用Linux的清屏命令的时候使用cls。但是我们自己通过命令行输入cls发现会报错。别人使用的就是clear的别名,别名就是cls。

别名是通过别名文件来设置的,别名文件位于当前用户家目录中,文件名叫做.bashrc。在别名文件中设置cls=clear,也就是给clear设置别名。

vim .bashrc

打开文件后,输入:alias cls='clear' ,保存并退出。

设置别名文件之后,需要重新登录之后别名才会生效,因此当前用户需要重新登录:

第一个方法:切换用户;

第二个方法:重新/关机;

(3)异常关闭处理

当一个文件在vim中进行打开,打开之后没有正常关闭(直接关闭远程窗口),再下一次打开该文件的时候就会提示E325的错误。

这种问题的处理办法就是删除交换文件,交换文件的名称一般都是在原有的文件名后面加上.swp。比如:rm -f .passwd.swp(是隐藏文件,记得在文件名前加".")

(4)重做/撤销

当文件进行修改之后,如果想撤销/重做,则可以在末行模式中输入:u,来撤销上一步的操作。如果这个时候想取消撤销,可以在命令模式中按下组合键ctrl+r。如果想撤销多步,则可以在末行模式中输入:数字u。

(5)另一种退出保存方式

前面学习的保存退出方法叫做:wq。其实在Linux的vim中还支持另外一种保存退出方式,这个方式是在末行模式中输入:x。(千万不要输入大写的x,大写的x表示给当前文档进行加密)。

在Linux中:wq退出方式和:x的退出方式有什么区别?

在实际开发的时候还是建议使用:x的方式进行退出。这两个方式的区别在于,wq的方式无论文件是否有修改,都会对文件的最后修改时间进行改变;而x方式只有在文件内容真的发生变化了才会去修改文件的最后修改时间。

(0)

相关推荐

  • 等级考试三级linux VI编辑器 朗读复习版

    一.工作模式:1.命令模式,2.文本编辑模式,3.末行模式. 命令模式:启动时便进入命令模式.使用过程中按下"ESC"键进入命令模式.该模式下,可以输入各种合法的VI命令,键盘上输 ...

  • linux中vim常用操作

    三种模式 # 命令模式vim 文件名# 插入模式按a/i/o 进行插入模式按esc 重新进入命令模式# 编辑模式按:(冒号)进入编辑模式 插入命令 命令 作用 a 在光标所在字符后插入 A 在光标所在 ...

  • Linux入门的基础知识点汇总,有这篇就够了

    一口Linux 143篇原创内容 公众号 很多粉丝给一口君留言,想要学习Linux资料,其实关注一口君的公众号,后台回复 1024 ,就有很多非常不错的电子书,但是有一个问题,很多粉丝是初学者,而这一 ...

  • 【Linux笔记】Vi/Vim编辑器

    【Linux笔记】Vi/Vim编辑器

  • 【竺】Linux笔记2——netstat命令

    netstat 功能说明:显示网络状态. 语 法:netstat [-acCeFghilMnNoprstuvVwx] [-A<网络类型>][--ip] 补充说明:利用netstat指令可让 ...

  • 【竺】Linux笔记3——ps -ef|grep详解

    ps命令将某个进程显示出来 grep命令是查找 中间的|是管道命令 是指ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找,是一种强大的文本搜索工具, ...

  • 【竺】Linux笔记1——基础命令

    Linux是做什么的? 一般用来做服务器端的操作系统, 服务器:提供服务.数据处理.安全 操作系统=开机之后进入的操作环境预览 电脑=硬件+操作系统(软件) 硬件=鼠标.键盘.显示屏.耳机.cpu.主 ...

  • 【微笔记】houdini大师班教程 chop在动画中的运用

    --  微资讯 · 微课程  -- 利用零碎时间,走上超神之路! houdini16对约束做了较大的整合,把在obj层级上的路径约束等整合到了chop中.本来houdini的chop教程就相对较少,而 ...

  • 【微笔记】houdini16制作篝火教程

    --  微资讯 · 微课程  -- 利用零碎时间,走上超神之路! 课程概述 使用houdini16制作篝火教程.算是比较基础的pyro案例教程.从基本的基础模型搭建→发射器→pyro设→碰撞体设置→材 ...

  • 临王羲之《圣教序》笔法教程学习笔记,56张单字教程,学行书收藏

    原创大勇书法2019-01-17 15:16:42 <大唐三藏圣教序> <大唐三藏圣教序>简称<圣教序>,由唐太宗撰写.最早由唐初四大书法家之一的褚遂良所书称为&l ...

  • Linux笔记【003】| Linux系统目录结构与基本命令

    一.Linux系统目录结构 linux的文件系统是采用级层式的树状目录结构,在此结构中最上层是根目录"/",然后在此目录下再创建其它的目录.在linux世界里.一切皆文件. 以下是 ...

  • Linux笔记【002】| 远程登录服务器软件:MobXterm与FileZilla

    一.登录服务器的软件--MobXterm 在实际开发或者计算的时候可以使用一些第三方的工具对远程的服务器进行控制.目前常用的Linux远程登录工具有:putty.xshell.secureCRT等等. ...