目录

1.打开文件

2.vim的三种模式

3.扩展

(关于vi 和 vim 的区别,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。)

1.打开文件

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

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

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

命令:#vim +5 ./passwd

提示:vim默认是不显示行号的,如果想在当前文件中显示出行号可以输入:set nu,然后按下回车就可以显示出行号

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

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

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

如果想去除高亮显示,则可以输入:nohl,按下回车即可。(no highlight)

特别说明:

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

2.vim的三种模式

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

--------------------------------------------------------------------------------------------------------------------------------------

末行模式下:

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

保存/另存

保存:

语法: :w(write)

另存:

语法:     :w 文件的路径

退出

语法:

:q(quit)

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

查找

语法:

/字符串

替换

第一种情况

语法:

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

第二种情况

语法:

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

第三种情况

语法:

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

第四种情况:

语法:

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

---------------------------------------------------------------------------------------------------------------------------------------------------

命令模式

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

光标移动

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

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

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

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

删除命令

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

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

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

特别说明的:

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

复制命令

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

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

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

------------------------------------------------------------------------------------------------------------------

编辑模式

进入编辑模式,可以按下i键或者a

a键表示在光标的下一个字符处,after insert。

I键表示在光标所在的位置进行编辑,insert。

退出编辑模式,按下键盘的esc就可以退出编辑模式。

3.扩展

默认显示行号

解决办法:

修改vim的配置文件进行配置。Vim的配置文件在当前用户的家目录中(如果没有的话自己创建,文件名字叫做.vimrc

然后在.vimrc文件中,进入编辑模式,然后输入set nu,输入完毕之后退出保存

别名机制

别名是通过别名文件来设置的,别名文件位于当前用户家目录中,文件名叫做.bashrc。设置之后保存退出。

设置别名文件之后,需要重新登录之后别名才会生效,因此当前用户需要重新登录:第一个方法:切换用户;第二个方法:重新/关机;

异常关闭处理

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

这种问题的处理办法就是删除交换文件,交换文件的名称一般都是在原有的文件名后面加上.swp

重做/撤销

当文件进行修改之后,如果想撤销/重做,则可以在末行模式中输入:u,来撤销上一步的操作。

如果这个时候想取消撤销,可以在命令模式中按下组合键ctrl+r

如果想撤销多步,则可以在末行模式中输入:数字u

另一种退出保存方式

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

经典的面试题

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

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

Linux背背背(4)vim操作的更多相关文章

  1. linux下vi或vim操作Found a swap file by the name的原因及解决方法

    在linux下用vi或vim打开Test.java文件时 [root@localhost tmp]# vi Test.java出现了如下信息: E325: ATTENTION    Found a s ...

  2. vim操作备忘录

    vim操作备忘录 vim 备忘录 vim的书籍虽然看不不少,可是老是容易忘记,主要是自己操作总结过少,这个博客就主要用来记录一些比较常见的术语和操作,以防止自己再次忘记. <leader> ...

  3. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

  4. Linux命令行下的vim文本编辑器

    Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...

  5. linux的基本的命令行操作

    linux的基本的命令行操作 第一步前登陆你的服务器 //创建文件夹的方法 mkdir 文件名 //进入指定文件夹 cd 文件名 //查看文件夹下的内容 ls or ll // 查看当前的路径 pwd ...

  6. [编译] 7、在Linux下搭建安卓APP的开发烧写环境(makefile版-gradle版)—— 在Linux上用命令行+VIM开发安卓APP

    April 18, 2020 6:54 AM - BEAUTIFULZZZZ 目录 0 前言 1 gradle 安装配置 1.1 卸载系统默认装的gradle 1.2 下载对应版本的二进制文件 1.3 ...

  7. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  8. 只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs

    只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs [ide is evil] (http://i.cnblogs.com/EditP ...

  9. [20150513]Linux远程登陆管理以及Vim的学习

    Linux远程登陆管理以及Vim的学习 实现Linux远程管理 所需工具Xshell,Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户 ...

随机推荐

  1. 朋友给的IE滚动条

    scrollbar-arrow-color: #f4ae21;  /*图6,三角箭头的颜色*/scrollbar-face-color: #333;  /*图5,立体滚动条的颜色*/scrollbar ...

  2. 修改C#mvc的默认首页

    找到Global.asax,在其中RouteConfig.RegisterRoutes(RouteTable.Routes);这条方法上,右键转到定义,在defaults: new { control ...

  3. Alpha 冲刺 (10/10)

    Alpha 冲刺 (10/10) 队名:第三视角 组长博客链接 本次作业链接 团队部分 团队燃尽图 工作情况汇报 张扬(组长) 过去两天完成了哪些任务: 文字/口头描述: 1.和愈明.韫月一起对接 2 ...

  4. @lazy注解处理循环注入问题

    @Service public class A extends GenericBaseService { @Autowired private B b; } @Service public class ...

  5. Android开发 ---代码创建选项菜单、隐藏菜单项、菜单的生命周期,菜单按钮图标设置、搜索框、xml中设置子菜单

    1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> < ...

  6. java中求余%与取模floorMod的区别

    初学java的时候接触的%这个符号 百分号? 求余? 取模? 我只知道不是百分号,好像是求余,听别人那叫求模运算符,跟求余一样,于是我便信了. 思考之后开始迷糊,然后经过多次考证得到以下结论. 首先, ...

  7. Selenium2+python自动化-查看selenium API

    前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. pydo ...

  8. TOJ-5395 大于中值的边界元素

    描述 给定一个二维数组,求二维数组的边界元素中,大于二维数组“中值”的元素个数.这里的“中值”定义为一个元素序列中: (1)当元素个数为奇数时,即为中间大的元素: (2)当元素个数为偶数时,为中间大的 ...

  9. 手把手教你用git

    一.如何安装git 下载地址: https://git-scm.com/download/win 根据自己的电脑选择是32位的还是64位的.下载完后直接运行,之后一直next就好了.安装成功后,会有这 ...

  10. 移动端键盘遮挡input问题

    在开发移动端项目的时候测试提出优化问题,即: input 获取焦点弹出系统虚拟键盘时, input 被键盘遮挡问题(PS:此问题只在安卓手机上有,ios系统是有自动处理的). 解决办法为: 当 inp ...