作者永不落的梦想

作者主页传送

座右铭过去属于死神,未来属于自己

本文专栏Liunx篇      神器使用篇

今日鸡汤当你想要放弃的时候想想当初为什么坚持到这里

目录

一、vi和vim介绍

二、vim的三种模式

1.三种模式

2.vim的进入和退出

三、vim模式切换

1.切换到命令模式

2.切换到末行模式

3.切换到编辑模式

四、命令模式

1.光标移动

2.复制与粘贴

3.剪切/删除

4.撤销与恢复

五、末行模式

1.保存

2.退出

3.调用外部命令

4.搜索/查找

5.替换

6.显示行号

7.切换文件

六、编辑模式

七、vim功能模块

1.代码着色

2.简易计算器

八、补充内容

1.vim的配置

2.异常退出

3.新建别名

4.退出方式


一、vi和vim介绍

二、vim的三种模式(重点)

1.三种模式

命令模式:不能对文件直接编辑,只能通过快捷键进行一些操作(如移动光标、复制、粘贴等),打开vim后默认进入命令模式;

末行模式:可在末行输入一些命令对文件进行操作(如搜索、替换、保存、退出、高亮等);

编辑模式:可对文件内容进行编辑;

2.vim的进入和退出

进入:

语法1:vim 文件路径        //直接打开指定文件(光标位于首行或上次关闭文件时光标的所在行)

语法2:vim +数字 文件路径      //打开指定文件并将光标移动到指定行(数字对应的行数)

语法3:vim +/关键词 文件路径    //打开指定文件并高亮显示关键词

语法4:vim 文件路径1 文件路径2 文件路径3     //可同时打开多个文件,文件之间可切换操作

退出:

语法::q           //键盘输入英文:号进入末行模式,输入字母q再回车

三、vim模式切换(重点)

1.切换到命令模式

用vim指令打开文件时默认为命令模式;

按一下键盘ESC键可从编辑模式切换到命令模式;

按一下或连按两下ESC键或用键盘删除末行模式下的英文符号:可从末行模式切换到命令模式

2.切换到末行模式

命令模式下键盘输入英文符号:可切换到末行模式;

3.切换到编辑模式

命令模式下键盘输入字母i或a(还有其他字母也可以这两个比较常用)可切换到编辑模式以编辑

注意:vim刚打开文件时默认为命令模式,命令模式可切换到末行模式或编辑模式,但末行模式与编辑模式之间不能直接相互切换;

四、命令模式

1.光标移动

语法1:^         //键盘输入符号^,光标移动到光标所在行的行首

语法2:$        //键盘输入符号$,光标移动到光标所在行的行尾

语法3:gg      //键盘输入字母gg,光标移动到文件的首行

上图中,当输入一个g时不是正确语法在右下角可以看到输入的内容g,当输入两个g时立刻会执行命令,这里不便演示,只需按语法输入命令即可执行

语法4:G        //键盘输入字母G,光标移动到文件的尾行

语法5:ctrl+b       //键盘ctrl+b,向上翻屏(前提是文件内容足够翻屏)

语法6:ctrl+f        //键盘ctrl+f,向下翻屏

语法7:数字G    //键盘输入数字+字母G,光标移动到指定行(数字对应的行数)

语法8:数字+键盘方向键上/下    //键盘输入数字+键盘方向键上/下,光标以光标所在行为准向上/下移动指定行(对应的数字)

语法9:数字+键盘方向键左/右    //键盘输入数字+键盘方向键左/右,光标以光标所在位置为准向左/右移动指定个字符(对应的数字)

语法10::数字      //键盘输入英文符号:+数字再回车,光标移动到指定行(属于末行模式)

2.复制与粘贴

语法1:yy         //键盘输入字母yy,复制光标所在行

语法2:数字yy       //键盘输入数字+字母yy,从光标所在行开始向下复制指定行(数字对应的行数,包括了光标所在行)

语法3:ctrl+v      //键盘ctrl+v进入可视化复制,用键盘的方向键控制复制区域,然后键盘输入字母yy即可完成复制

上图中,进入可视化复制后可用键盘方向键控制复制区域,选中区域后输入yy即可完成复制,右下角的3*6表示当前复制区域的大小,17,4表示光标的当前位置是第17行第4个字符

粘贴语法:p       //键盘输入字母p即可在光标处粘贴复制的内容

3.剪切/删除

语法1:dd      //键盘输入字母dd,剪切光标所在行,光标所在行的下面行会上移填补剪切行

语法2:数字dd     //键盘输入数字+字母dd,从光标所在行起向下剪切指定行(数字对应的行数,包括了光标所在行),后面行会上移填补剪切部分

语法3:D          //键盘输入字母D,剪切光标所在行但后面行不会上移填补剪切行,剪切行变空

删除语法:删除即剪切后不复制,删除操作使用剪切语法

4.撤销与恢复

撤销语法::u       //键盘输入符号:和字母u再回车(属于末行模式),撤销上一步操作

恢复语法:ctrl+r    //键盘ctrl+r,恢复撤销操作(即取消之前的撤销操作)

五、末行模式

1.保存

语法1::w        //键盘输入英文符号:+字母w再回车,保存当前文件

语法2::w 文件路径      //键盘输入英文符号:+字母w+空格+文件路径再回车,另存为指定文件

2.退出

语法1::q      //键盘输入英文符号:+字母q再回车,退出当前文件

语法2::wq      //键盘输入英文符号:+字母wq再回车,保存当前文件并退出

语法3::q!    //键盘输入英文符号:+字母q+英文符号!再回车,不保存对文件的修改并退出

3.调用外部命令

语法::q外部命令   //键盘输入英文符号:+字母q+外部命令再回车,外部命令如 ls 命令等,不退出文件的同时执行外部命令,执行后按任意键可以切换回文件

4.搜索/查找

语法1::/关键词      //键盘输入英文符号:+/+关键词再回车,按关键词查找,查找到的内容会被高亮显示

语法2:N/n     //键盘输入字母N/n,光标移动到上/下一个查找到的内容(属于命令模式)

语法3::nohl     //键盘输入英文符号:+字母nohl再回车,取消查找到的内容的高亮显示,若不取消内容会一直高亮显示

5.替换

语法1::s/搜索的内容/新内容        //用新内容替换光标所在行第一处被搜索到的内容

语法2::s/搜索的内容/新内容/g        //用新内容替换光标所在行全部被搜索到的内容

语法3::%s/搜索的内容/新内容        //用新内容替换整个文件每一行第一处被搜索到的内容

语法4::%s/搜索的内容/新内容/g        //用新内容替换整个文件全部被搜索到的内容

6.显示行号

语法1::set nu     //键盘输入英文符号:+字母set+空格+字母nu再回车,显示文件每行的行号,显示行号是暂时的下次打开该文件不会再显示

语法2::set nonu    //键盘输入英文符号:+字母set+空格+字母nonu再回车,取消行号显示

7.切换文件

语法1::files     //键盘输入英文符号:+字母files再回车,查看同时打开的所有文件的名称

上图中,%a表示它对应的文件是当前操作的文件,#表示它对应的文件是上一个操作的文件,行数处显示第0行表示从未切换到它对应的文件进行操作

语法2::open 文件名       //键盘输入英文符号:+字母open+空格+文件名再回车,切换到其他打开的文件进行操作

语法3::bn      //键盘输入英文符号:+字母bn再回车,切换到下一个打开的文件

语法4::bp      //键盘输入英文符号:+字母bn再回车,切换到上一个操作的文件

注意:每执行完一次末行模式下的命令之后,都会自动退回到命令模式,因此每次执行末行模式下的命令都需要先键盘输入英文符号:后再输入命令

六、编辑模式

命令模式下键盘输入以下字母可进入编辑模式进行对应的操作:

i 在光标所在字符前开始插入
a 在光标所在字符前开始插入
o 在光标所在行的下面另起一行开始插入
I 在光标所在行的行首开始插入,若行首有空格则在空格后插入
A 在光标所在行的行尾开始插入
O 在光标所在行的上面另起一行开始插入
S 删除光标所在行并开始插入

按照以上不同的方式进入编辑模式后,正常使用键盘进行增删改即可,重点掌握前两种方式,退出编辑模式键盘按ESC键;

七、vim功能模块

1.代码着色

语法1::syntax on      //键盘输入英文符号:+字母syntax+空格+on,开启代码着色,默认是开启的

语法2::syntax off      //键盘输入英文符号:+字母syntax+空格+off,关闭代码着色(该操作是暂时的)

2.简易计算器

当编辑文件中需要用计算器计算时,不需要退出文件,可以使用vim的简易计算器完成计算;

使用方法:

在编辑模式下键盘ctrl+r,然后键盘输入符号=,光标就会移动到末行,键盘输入计算格式后回车,计算结果就会出现在原光标位置处;

八、补充内容

1.vim的配置(重点)

常用配置:

syntax on/off        //开启/关闭代码着色

set nu/nonu         //显示/不显示行号

配置分类:

临时配置:在末行模式下输入配置,此配置是暂时的,下次打开文件时不会生效;

个人配置:个人配置文件路径是~/.vimrc,即当前用户家目录下的隐藏文件.vimrc,此配置只对当前用户永久生效,若不存在.vimrc文件可自行创建编辑加入vim配置;

全局配置:全局配置文件路径是/etc/vim/vimrc,不同版本目录路径可能有点差异,此配置对所有用户永久生效,可编辑全局配置文件加入vim配置;

注意:对于同一配置项,当个人配置存在此配置项时遵循个人配置,否则遵循全局配置;

2.异常退出

编辑中的文件未保存直接退出(按终端右上角的叉或断电等),这就是异常退出;异常退出会产生一个隐藏的交换文件(.文件名.swp,编辑中产生的临时文件,可以指令ls -a查看),并且在下一次打开该异常退出的文件时会报错,将交换文件删除即可正常打开;

3.别名机制(非常有趣)

依靠一个别名映射文件(路径时~/.bashrc)来执行自己创建的指令,这就是别名机制;在映射文件中按特定格式加入自己的指令即可执行自己创建的指令;

上图中, vim打开.baserc文件,找到上图内容处可按格式加入自己创建的指令,如最后一行是我加的,即haha指令将等效于clear指令(笑两下就可以清屏了,不过我的失败了,好像是添加的位置不对);

注意:加入自己的指令后需要重启才能生效;

4.退出方式

语法::x        //文件未被修改直接退出,文件被修改过保存并退出

:x和:wq的区别:

使用:wq,文件的修改时间一定会改变;

而使用:x,在文件未被修改的情况下,并不会改变文件的修改时间;

建议:使用:x代替:q和:wq,更加简便的同时不会在未修改文件的情况下改变文件的修改时间

编辑器之神——vim编辑器(详细、完整)相关推荐

  1. 编辑器之神——vim编辑器

    编辑器之神--vim编辑器 一.vi介绍 Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本, ...

  2. linux 神的编辑器,编辑器之神-vim的使用,编辑器神-vim

    编辑器之神-vim的使用,编辑器神-vim vim即vi的升级版:在linux中,vi是vim的软链接,我们敲vi和vim出来的都是vim: 纯手打,如有错误,敬请指出. vi的三种模式及简单使用 v ...

  3. Linux 编辑器之神 vim 的 IO 存储原理

    坚持思考,就会很酷 故事起因 无意间用 vim 打开了一个 10 G 的文件,改了一行内容,:w 保存了一下,慢的我哟,耗费的时间够泡几杯茶了.这引起了我的好奇,vim 打开和保存究竟做了啥? vim ...

  4. xshell vim 不能粘贴_编辑器之神——vim的入门指南

    编辑器之神--Vim的操作说明 ©作者:geekctwd Vim命令模式: Vim虽然被称为编辑器之神,但是很多接触过的人都说入门较难,原因是什么呢,除了vim繁杂的按键之外就是因为它的模式了,很多初 ...

  5. 编辑器之神—Vim 常用快捷键

    以下是 "编辑器之神" - Vim 常用快捷键 . 学好vi, 无论用哪个IDE,只需下载一个vim的插件, 在哪里都可以使用! 前言         Vim 的三种工作模式 vi ...

  6. 神之编辑器Emacs 编辑器之神Vim

    来源:开源中国社区 http://www.oschina.net/question/12_15010 在这个蔚蓝色的星球上,流传着两大神器的传说: 据说Emacs是神的编辑器,而Vim是编辑器之神. ...

  7. 编辑器之神-vim的使用技巧

    vim VS. emacs vim被誉为编辑器之神,而emacs被誉为神之编辑器.中国文化博大精深,他们究竟有什么区别呢?作为emacs小白的我来说不想在这里献丑,直接贴上一篇博客,有兴趣的同学可以深 ...

  8. 编辑器之神Vim总结

    vim常用模式 下面的内容介绍vim的几种常用的模式.在详细介绍之前,我们先建立一个大致的概念:vim包括许多模式,不同模式有不同的功能,如"插入模式"让用户输入:"命令 ...

  9. 编辑器之神VIM入门

    前言 因为最近装了 WIN10 + Manjaro 双系统,用 Linux 几乎避免不了使用 Vim 编辑器.Vim是从 Vi 发展出来的一个基于命令行的文本编辑器.Vi是"Visual i ...

最新文章

  1. java自动装箱性能
  2. Python 计算机视觉(二) —— OpenCV 基础
  3. java不用析构函数,堆栈分配的类--C发生不需要的析构函数调用
  4. linux 认证考试 题库,Linux认证考试题库及答案
  5. Abp vnext Web应用程序开发教程 10 —— 书与作者的关系
  6. 设置日志不记录指定类型的文件,日志文件的切割,配置静态元素过期时间
  7. 金融数据分析之财务分析表要填数据怎么办?(学习理财课程后开发的助手工具)
  8. [NLP]自然语言的处理步骤
  9. 怎么在html中加入网上的图片,css中如何插入图片?
  10. java hostwrite_Java IOUtils.write方法代碼示例
  11. html5页面登录页面,html5练习——登录页面
  12. 如何解决SpringBoot的单测启动慢的问题
  13. 数字转型遇阻 ,Riverbed重塑APM工具
  14. 使用docker搭建web服务器,提示无法访问此网站,怎么解决
  15. PLC程序案例一:喷泉电路(采用中间继电器完成分步控制)
  16. 一个简单的敌人自动寻找玩家进行攻击及受到伤害死亡效果实现
  17. 关于office2021升级
  18. linux终端联网网速慢,Ubuntu 16.04网速慢解决方法
  19. 初识OFDM(八):OFDM中的PAPR计算和通频带仿真
  20. PHP 验证码图片无法正常显示

热门文章

  1. 不要让“破事”、“烂人”毁了你的工作
  2. 网站空间如何选择?空间选择的标准是什么?
  3. 浏览器常见的4个安全风险你中招了吗?安全浏览网页的方法
  4. 微信 安卓 H5 video视频播放自动全屏
  5. 微软开源的 AI 工具,让旧照片焕发新生
  6. strokstrok_r 实例
  7. 抖音直播运营团队需要哪些人?岗位职责怎么分配?
  8. 移动端热更新方案(iOS+Android)
  9. Xcode 如何添加inHouse模式
  10. 新版本!批量歌词下载软件 1.5.0