认识vim 编辑器
vim编辑器
vim编辑器的重点是光标的移动,模式切换,删除,查找,替换,复制,撤销命令的使用。
vim 有三种模式:
命令模式,编辑模式,末行模式
vim打开方式:
语法: vim 文件路径
vim +数字 文件路径
vim +/关键字 文件路径
命令模式:
1、光标移动到行首 shift+6
2、光标移动到行尾 shift+4
3、光标移动到首行行首 gg
4、光标移动到末行行首 GG
5、向上翻屏 ctrl+b (pgup)
6、向下翻屏 ctrl+f (pgdn)
7、向上翻半屏 up ctrl+u
8、向下翻半屏 ctrl + d down
9、快速定位到指定行 数字G
复制操作:
1、复制光标所在行 yy 粘贴 p
2、剪切/删除光标所在行 dd(删除后下一行上移) D(删除后下一行不上移变成空白行)
注意:dd严格意义上说是剪切命令,如果剪切了不粘贴就达到了删除的效果
3、可视化删除
按键:ctrl + v(可视块)或V(可视行)或v(可视),上下左右移动,按下D表示删除选中行,d 表示删选中块
撤销/恢复
撤销:输入“:u”(不属于命令模式) 或者 u (undo)
恢复:ctrl + r 恢复(取消)之前的撤销操作
模式间的切换(重点)

末行模式进入之后的特征:光标在最后一行上
编辑模式进入之后的特征:在最后一行有类似于“------插入(insert)-----”的提
注意:末行模式和编辑模式之间是没有办法直接切换的,必须先走命令模式
末行模式:
①保存操作(write)
输入:“:w” 保存文件
②退出(quit)
输入:“:q” 退出文件
③保存并退出
输入:“:wq” 保存并且退出
④强制 (!)
输入:“:q!” 表示强制退出,刚才做的修改操作不做保存
⑤调用外部命令(了解)
输入:“:!外部命令” 【外部指令写法与在正常终端中执行一样】
⑥搜索/查找
输入:“/关键词” 【按下/也是进入末行模式的方式之一】
在搜索结果中切换上/下一个结果:N/n 大n向上,小n向下 (next)
如果需要取消高亮,则需要输入:“:nohl”【no highlight】
⑦替换
1 、 :s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容
2、 :s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容
3、 :%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容
4、 :%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容
%表示整个文件
g表示全局(global)
⑧显示行号(临时)
输入:“:set nu”[number]
如果想取消显示,则输入:“:set nonu”
⑨扩展1:使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前已经打开的文件名称:“:files”
切换文件的方式:
a. 如果需要指定切换文件的名称,则可以输入:“:open 已经打开的文件名”
b. 可以通过其他命令来切换上一个文件/下一个文件
输入:“:bn”切换到下一个文件(back next)
输入:“:bp”切换到上一个文件(back prev)
a. (命令模式下的操作在末行中实现)末行模式下的复制(yy)、剪切(dd)、删除(dd)操作
复制语法:“:开始行号,结束行号y”
剪切删除语法:“:开始行号,结束行号d”
扩展:
一步到位的复制语法——“:开始行号,结束行号 co 粘贴到的行号”
剪切粘贴一步到位语法——“:开始行号,结束行号 m 粘贴到的行号”
b. 末行模式下的快速移动方式:移动到指定的
按键:输入英文“:”,其后输入行数数字,按下回车
编辑模式
重点看前2个进入方式:i(insert)、a(after)。
退出方式:按下esc键
实用功能
1、代码着色
语法:syntax on/off
2、vim中计算机的使用
a.先进入编辑模式
b.按下ctrl+R键,然后输入=,此时光标会变成最后一行
c.输入需要计算的内容,按下回车
认识vim 编辑器的更多相关文章
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- Linux vim编辑器使用详解
在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明: Linux默认自带vi(vim)编辑器,其程序包为: [root@xuegod163 ~]# rpm -qf `--1.8 ...
- REDHAT一总复习1 vim编辑器的使用 删除所有者列 删除指定行
将文件/home/student/vimfile.txt 复制到server 上的/home/student/longlisting.txt . 根据下列要求,使用vim编辑器更改 /home/stu ...
- Linux笔记:使用Vim编辑器
Vi编辑器是Unix系统上早先的编辑器,在GNU项目将Vi编辑器移植到开源世界时,他们决定对其作一些改进. 于它不再是以前Unix中的那个原始的Vi编辑器了,开发人员也就将它重命名为Vi improv ...
- VIM编辑器简单总结
第一讲小结 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键. h (左移) j (下行) k (上行) l (右移) 2. ...
- Linux Vim编辑器使用简单讲解
在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明:Linux默认自带vi(vim)编辑器,其程序包为:[root@linuxidc.com ~]# rpm -qf `whic ...
- linux学习笔记--vi与vim编辑器
vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...
- 初探VIM编辑器
初探VIM 引言---什么是Vim? 接触Linux这么久,想必对于一切皆文件的哲学思想已经不陌生了.因此,学习并掌握用一款Linux文本编辑器,对于玩转LInux来说,是很有必要的. vi编辑器是U ...
- vim编辑器详解
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率. vi是“visual interface”的 ...
- 如何让vim编辑器永久显示行号
在Linux环境下的编辑器有vi.vim.gedit等等.进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的.我们有二种办法可以解决: 第一种是,手动显示:在 ...
随机推荐
- c/c++学习系列之memset()函数
[转载] memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的: 包含在<string.h>头文件中,可以用它对一片内存空间逐字节进行初始化: 原型为 : void *mems ...
- saltstack主机管理项目:今日总结(六)
一.总目录 二.具体代码 salt #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:luoahong import os,sys if __ ...
- CMDB资产管理系统开发【day26】:admin action
本节目标 审核写到数据库,我就单独写一个如下的 页面 单机go后就跳转到如下图界面,我们这节课的目标就是写一个这样的页面 asset\admin.py部分代码 注释如下: class NewAsset ...
- 常见RPC开源框架
什么是rpc框架先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call) 那什么是远程调用?通常我们调用一个php中的方法,比如这样 ...
- python 实现简单卷积网络框架
第一步定义卷积核类: class Filter(object): # 滤波器类 对卷积核进行初始化 def __init__(self,width,height,depth): # initializ ...
- iPhone8再MacOS上修改手机铃声
1 选择下载好的mp3铃声文件,导入到itunes 2 将音乐改成AAA模式, 设置你的铃声时长 3 show in finder 找到文件,将mpr后缀修改成m4r,并删除掉mp3文件,将m4r文件 ...
- day 15 - 2 内置函数练习
内置函数练习 编写 sql 查询语句功能 文件内容: 1,Eva,22,13651054608,IT2,Vera,23,13304320533,Tearcher3,Renault,25,1333235 ...
- decltype类型指示符
C++11新标准引入第二种类型说明符decltype,它的作用是选择并返回操作数的数据类型. 编译器分析表达式并得到它的类型,却不实际计算表达式的值: decltype(f()) sum = x;// ...
- golang 中string和int类型相互转换
总结了golang中字符串和各种int类型之间的相互转换方式: string转成int: int, err := strconv.Atoi(string)string转成int64: int64, e ...
- Django ORM中,如何使用Count来关联对象的子集数量
示例models 解决方法 有时候,我们想要获取一个对象关联关系的数量,但是我们不要所有的关联对象,我们只想要符合规则的那些关联对象的数量. 示例models # models.py from dja ...