01vim简介

1.什么是vim: 文本编辑器

2.vim特点: 没有图形界面;只能是编辑文本内容;没有菜单 ;只有命令

3.在很多linux发行版中,直接把vi作为vim的软连接

02打开和新建文件

1.vim 文件名 :如果文件存在,直接打开;不存在,就新建一个

2.vim 文件名 +行数:打开文件,并且定位行

3.vim异常退出时,在磁盘上可能保存有交换文件,使用d删除交换文件就行

03三种工作模式

1.命令模式:打开文件首先进入命令模式,是vim的入口,(编辑中按esc进入)

2.末行模式:执行保存和推出操作,

w--保存,q--退出,q!--强制退出,wq--保存并退出,x--保存并退出

3.编辑模式:正常的编辑文字 , i --转化为编辑模式

三种模式之间的转换:

04 vim 常用命令

1.移动(基本)

h--左 , l--右 ,k--上 ,j--下

行内移动:

w--向后移动一个单词

b--向前移动一个单词

0--行首

$--行尾

行数移动:

gg--文件顶部

G--文件末尾

数字 gg: 移动到数字对应的行数

数字 G :移动到数字对应的行数

:数字 :移动到数字对应的行数

屏幕移动:

ctrl + b : 向上翻页

ctrl + f :向下翻页

H --屏幕顶部

M --屏幕中间

L --屏幕底部

2.移动(程序)

段落移动:

{ :上一段

} :下一段

括号切换:

% :括号匹配及切换

标记:

mx : x--可以是a~z或者A~Z之间的任意字母

'x : 直接定位到标记 x 所在的位置

3.选中文本(可视模式)

v 可视模式 从光标位置开始按照正常模式选择文本

V 可视行模式 选中光标经过的完整行

Ctrl + v 可视块模式 垂直方向选中文本

4.撤销和恢复撤销

u undo 撤销上次命令

CTRL + r redo 恢复撤销的命令

5.删除文本

x :删除光标所在字符,或者选中文字

d:删除移动命令对应的内容

d 代码行数 G:删除当前行到代码行数的内容

d 'a:删除当前行到标记位置的内容

dd:删除光标所在行,ndd可以删除多行

D:删除至行尾

6.复制和粘贴

y:复制

yy:复制一行,nyy可以复制多行

p:粘贴所复制内容,np可以粘贴n次

7.替换:

r:在命令模式下替换当前字符

R:在替换模式,替换当前光标后的字符

8.缩排和重复执行

<<---向左增加缩进

>>---向右增加缩进

. ---重复上次操作

9.查找

常规查找

/str---->查找str

查找到指定位置后: n--->查找下一个,N--->查找上一个

单词快速匹配

*------>向后查找当前光标所在的单词

#------>向前查找当前光标所在的单词

10.查找并替换

全局替换-------> :%s/旧文本/新文本/g

可视区域替换------> :s/旧文本/新文本/g

确认替换------>:%s/旧文本/新文本/gc

11.插入命令

i-->当前字符前插入 , I--->行首插入 , a--->当前字符后添加 , A--->在行末添加 ,

o--->当前行后插入空行 , O--->在当前行前加入空行

12.编辑命令和数字的连用

命令模式下,按下数字,点击小i,进入编辑模式,

输入内容,按esc返回命令模式,就会重复输出所输入的内容

05.分屏命令

1.末行命令扩展

:e . ----->浏览当前目录下文件

:n 文件名----->新建文件

:w 文件名----->另存为,但不切换文件

2.分屏命令

切换分屏窗口

:sp 文件名

:vsp 文件名

ctrl+w+w--->切换到下一个窗口 , ctrl+w+r--->互换窗口

ctrl+w+c--->关闭当前窗口,但不关闭最后一个

ctrl+w+q--->退出当前窗口,如果是最后一个,关闭vim

ctrl+w+o--->关闭其他窗口

调整窗口大小

ctrl+w+"+":增加窗口高度 , ctrl+w+"-":减少窗口高度 , ctrl+w+"=":等分窗口大小

ctrl+w+"<":减少窗口宽度

ctrl+w+">":增加窗口宽度

编辑器之神_vim的更多相关文章

  1. 编辑器之神VIM 总结(一) 基础部分

     版本号 说明 作者 日期  1.0  vim基础知识 Sky Wang 2013/06/19       概要 vim和emacs,一个是编辑器之神,一个是神一样的编辑器.他们被称是UNIX系统下的 ...

  2. 优测优社区干货精选|老司机乱谈编辑器之神——vim

    文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! *** vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了.本文介绍了学习vim ...

  3. 工欲善其事:编辑器之神Vim(一)

    本篇文章收集了Vim最常用和实用的一些命令,掌握这些命令就可以使用Vim了 本文仅列举个人认为常用的命令,本系列文章更像是自己的学习笔记,而不是VIM使用教程. 如果你想了解vim的更多,可以看看Co ...

  4. Ubuntu学习小结(二)PostgreSQL的使用,进程的查看关闭,编辑器之神Vim入门

    距离上次发布文章已经过去了很久.在过去的半年中,虽然写的代码不多,但是在接触了计算机一些其他的知识,包括数据库.网络之后,感觉能够融会贯通,写代码水平又有了一定的提高.接下来,将会发表几篇文章,简单介 ...

  5. Emacs和Vim:神的编辑器和编辑器之神, 到底哪个更好?

    Emacs和Vim:神的编辑器和编辑器之神, 到底哪个更好? 在这个蔚蓝色的星球上,流传着两大神器的传说:据说Emacs是神的编辑器,而Vim是编辑器之神. 一些人勇敢地拾起了Vim或Emacs,却发 ...

  6. 随处可编辑的编辑器之神VIM

    据说这世界上只有三种编辑器:Vim,Emacs 和 其他编辑器,其中 Vim 被称作编辑器之神,Emacs 被称作神的编辑器,当然,其他编辑器永远只能是其他编辑器. 拿一位 网友的话 来说,VIM 的 ...

  7. vim 让人爱不释手的编辑器之神

    VIM 基本介绍 vim诞生已有20多年,它常被人称之为编辑器之神,vim的操作理念可以说是独具一格而又出类拔萃,使用vim能极大的提升文本处理效率,因此熟练掌握vim应该是每个程序员都应该做到的事情 ...

  8. Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_160 众神殿内,依次坐着Editplus.Atom.Sublime.Vscode.JetBrains家族.Comodo等等一众编辑 ...

  9. 编辑器之神-vim的使用

    vim即vi的升级版:在linux中,vi是vim的软链接,我们敲vi和vim出来的都是vim: 纯手打,如有错误,敬请指出. vi的三种模式及简单使用 vi三种模式 命令模式(默认):是文件的入口, ...

随机推荐

  1. Java实现 蓝桥杯VIP 算法训练 入学考试

    问题描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...

  2. Java实现指定年份月份的日历表

    输入指定的年份与月份,看这个月的日历表 package Xueying_Liu; import java.util.Scanner; public class rilibiao { public st ...

  3. java实现金额组合

    某财务部门结账时发现总金额不对头.很可能是从明细上漏掉了某 1 笔或几笔. 如果已知明细账目清单,能通过编程找到漏掉的是哪 1 笔或几笔吗? 如果有多种可能,则输出所有可能的情况. 我们规定:用户输入 ...

  4. 震惊!当Python遇到Excel后,将开启你的认知虫洞

    本文主要内容:   1. Excel,你为什么如此强大 2. 软件开发也需要团队作战 3. Excel的集成方案演化 4. macOS特有的集成方案:applescript 5. Python与Exc ...

  5. ElasticSearch系列(二):ElasticSearch Head、Kibana、Elasticsearch-Analysis-Ik安装、使用

    1.ElasticSearch Head使用 扩展程序安装插件:ElasticSearch github地址:https://github.com/mobz/elasticsearch-head/ 运 ...

  6. 【快手初面】要求3个线程按顺序循环执行,如循环打印A,B,C

    [背景]这个题目是当时远程面试时,手写的题目.自己比较惭愧,当时写的并不好,面试完就又好好的完善了下. 一.题意分析 3个线程要按顺序执行,就要通过线程通信去控制这3个线程的执行顺序. 而线程通信的方 ...

  7. Python中class的三种继承方法

    class parent(object): def implicit(self): print("Parent implicit()") def override(self): p ...

  8. 学习ASP.NET Core(10)-全局日志与xUnit系统测试

    上一篇我们介绍了数据塑形,HATEOAS和内容协商,并在制器方法中完成了对应功能的添加:本章我们将介绍日志和测试相关的概念,并添加对应的功能 一.全局日志 在第一章介绍项目结构时,有提到.NET Co ...

  9. PHP上传进度支持(Upload progress in sessions)

    文件上传进度反馈, 这个需求在当前是越来越普遍, 比如大附件邮件. 在PHP5.4以前, 我们可以通过APC提供的功能来实现. 或者使用PECL扩展uploadprogress来实现. 从PHP的角度 ...

  10. rsyslog日志收集器

    rsyslog详解(思维导图) 1. 日志收集概述 1.1 日志记录 时间 事件 1.2 日志收集器 syslog rsyslog elk stack 1.3 日志文件 文件记录的日志格式 其他日志文 ...