vi编辑器:全屏文本编辑器

vi:visual interface,可视化界面;

S.U.N:bill joy,

vim相对于vi有更多的新特性:

1.语法着色显示;

2.更多的命令;

3.历史纪录;

vi:模式化文本编辑器

模式:编辑模式(命令模式),默认工作模式

插入模式(输入模式),文本信息的自由编辑,在编辑器的左下角有“insert”标记。

Ex模式(末行模式),对于编辑器本身某些属性和功能的设定;也可以进行文本的编辑操作;

其他辅助模式:

替换模式:输入的信息直接替换光标所在位置的内容;

可视化模式:

vi/vim的操作:

一.打开vi的操作界面

1.vi/vim命令;

2.vim file;在{1.file存在,就直接使用vim打开此文件,默认是将光标放置于该文件的起始位置;2.如果file不存在,直接以新建文件的方式打开,若执行保存命令则文件会被写入磁盘;若不保存,文件会消失}

3.vim +# file; 再打开指定文件是将光标直接定位在文件的第#行的行首。

4.vim + file; 再打开指定文件时直接将光标停留定位在在后一行行首。

5.vim +/PATTERN/;打开指定的文件时,将光标定位在被PATTERN匹配到的行的行首。

二.关闭vi的操作界面

ex模式中的操作

:q   直接关闭VIM编辑器,不保存修改内容;

:q!  直接关闭VIM编辑器(强制退出但不保存修改内容)

:wq   保存已修改的内容并关闭VIM编辑器

:wq!   对于无权更改的文件,强制保存并在保存后强制退出

编辑模式中的操作

ZZ   保存并关闭VIM编辑器

ZQ   不保存修改的内容并退出

三.在vim编辑模式中,光标的移动方式;

1.逐字符移动:

(1)left arrow 或者 right arrow;(左右箭头)

(2)h:光标向左移动;l:光标向右移动;

2.逐字移动:

w:移动光标至下一个字的字首

e:移动光标至当前字或下一个字的字尾

b:移动光标至前一字的字首

3.行内光标跳转:

0:绝对行首

^:相对行首

$:绝对行尾

4.行间跳转:

(1)up arrow 或者 down arrow;(上下箭头)

(2)j:向下移动一行 k:向上移动一行

(3)#G:直接跳转到第#行行首

(4)G:将光标移动至当前文件的最后一行

(5)gg:直接将光标移动至文档的第一行

EX模式中的光标移动

:#:直接将光标移动至#行行首

:1:直接将光标移动至文档的第一行行首

:$:直接将光标移动至文档的最后一行行首

四.翻页

PAGE UP 或者 PAGE DOWN 实现翻页

^+f:向下翻一页,向前翻一页

^+b:向上翻一页,向后翻一页

^+d:向下翻半页,

^+u:向上翻半页,

五.删除字符

(编辑模式中)

1.逐字符删除:

x:删除光标所在位置的字符

X:删除光标所在位置的左侧的第一个字符

2.删除光标移动过程中经过的所有内容

d:删除光标移动过程中经过的所有内容

dh,dl,dj,dk,d+arrow,dw,de,db,dG,dgg。

dd:删除当前光标所在行

(ex模式中)

:d:删除光标所在行,也相当于  :.d   “.”指当前行

:#d:删除第#行

:m,nd:删除从第m行开始到第n行结束中间的所有行。

:m,+nd:删除从第m行开始,及其后面n行的所有内容。

:.,+nd:删除从当前光标所在行开始,及后面n行的内容

:.,$d:删除从当前光标所在行开始,到文档末尾所有内容

注意:在vim的操作中,所有的删除操作,同时意味着剪切。

六.复制命令

编辑模式中

y:复制光标移动过程经过的所有内容

Y、yh,yl,yj,yk……等

yy:复制当前光标所在行

ex模式中

:y:复制光标所在行,也相当于  :.y   “.”指当前行

:#y:复制第#行

:m,ny:复制从第m行开始到第n行结束中间的所有行。

:m,+ny:复制从第m行开始,及其后面n行的所有内容。

:.,+ny:复制从当前光标所在行开始,及后面n行的内容

:.,$y:复制从当前光标所在行开始,到文档末尾所有内容

七.粘帖命令

编辑模式中

p(lower):如果是行内的复制或剪切操作,则粘贴时是在光标右侧粘贴,如果是多行的复制或剪切操作,在光标的下方完成粘贴。

 P(upper):如果是行内的复制或剪切操作,则粘贴时是在光标左侧粘贴,如果是多行的复制或剪切操作,在光标的上方完成粘贴。

ex模式中

:p:

八.模式切换(面试)

编辑模式(命令模式)被称为VIM编辑器的基础工作模式;所有其他模式之间进行切换的中转站。

1.从编辑模式---->ex模式:

“:”:表示进入ex模式并完成命令的执行

“/”或“?”:开启ex模式中的匹配查找功能(“/”默认是自上而下的查找顺序“?”默认是自下而上)

n和N命令在各个匹配的关键字之间跳转:

n:表示顺序查找

N:表示倒序查找

2.ex模式---->编辑模式

双击ESC键;

Enter键;

Backspace键;

3.编辑模式---->输入模式(插入模式)

i,I,a,A,o,O,s,S,C,cc,

i:在光标所在位置的左侧开始输入;

I:在行首开始输入;

a:在光标所在位置的右侧开始插入;

A:在行尾开始输入;

o:在当前光标所在行的下方插入一个新行;

O:在当前光标所在行的上方插入一个新行;

s:删除光标所在位置的字符,在光标左侧开始输入;

S:删除光标所在行,在行首开始输入;

C:删除光标所在位置直到行尾,并在行尾开始输入;

cc:相当于S命令;

4.输入模式---->编辑模式

ESC键

5.编辑模式---->替换模式

R:进入替换模式

6.替换模式---->编辑模式

ESC键

7.编辑模式---->可视化模式

v:按照字符为单位进行矩形选取;

V:按照行为单位进行矩形选取;

注意:

1.在选取完成之后可以使用d命令进行删除,也可以使用y命令进行复制;

2.只要选取完成,即立即返回编辑模式;

注意:所有的其他模式都只能和编辑模式相互切换,如果两种非编辑模式之间试图切换的话必须经过编辑模式,否则无法完成。

九.替换命令

r:不进入输入模式而替换光标所在位置的字符;

十.撤销命令

U:撤销当前行内的操作;

u:撤销此前的一次编辑操作;

^+r:撤销最后一个被撤销的操作;

十一.重复之前的一次编辑操作

. :重复之前一次的操作

十二.打开多文档编辑

1.直接使用VIM 打开file1,file2,file3,等。

:next:查看或编辑后一个文档

:prev:查看或编辑前一个文档

:first:查看或编辑第一个文档

:last:查看或编辑最后一个文档

2.vim -o |-O file1  file2  file3 ...

-o:水平打开多个窗口

^ + w   up arrow 或 down arrow;在多个窗口间切换

-O:垂直打开多个窗口

^ + w   left arrow 或 right arrow;在多个窗口间切换

十三.ex模式中的常用命令

1.显示和取消行编号:

:set  number (简写为 set  nu)

:set  nonumber(简写为ser  nonu)

2.开启或关闭字符大小写的敏感度:

:set  ignorecase(简写为set  ic)

:set  noignorecase(简写为set  noic)

3.开启或关闭自动缩进功能

:set  autoindent(简写为 set  ai)

:set  noautoindent(简写为 set  noai)

4.开启或关闭语法着色

:syntax on

:syntax off

5.开启或关闭查找高亮显示

:set  hlserch

:set  nohlserch(简写为:nohl)

6.另存为

:w  /path/to/somewhere

:m,nw  /path/to/somewhere(指定的内容另存为)

7.从其他文件直接读取内容并添加到当前文件中

:r  /path/from/somefiles

8.调用shell命令(与shell交互)

:!COMMAND

十四.vimtutor

VIM教程可详细阅读。

转载于:https://blog.51cto.com/holmes975/1973636

朗科学习期间心得笔记(三)相关推荐

  1. 朗科学习期间心得笔记(一)

    (一) 1.完整的操作系统由内核(kernel)和应用(application)组成. linux内核版本由 主版本号+次版本号+小改动 (注:在2.X的版本奇数代表测试版偶数代表稳定版) 可在 ht ...

  2. 朗科学习期间心得笔记(九)

    bash脚本编程的结构:   bash脚本编程语言:     脚本类语言     解释型语言     过程式编程语言 过程式编程语言的结构:     顺序执行结构:从上到下,从左向右的执行所有语句(命 ...

  3. 朗科学习期间心得笔记(二)

    基本命令: 7.touch:修改文件的时间戳. change file timestamps(如果文件不存在就会创建该文件) 常用选项: -c,--no-create;不创建任何文件 -a;仅修改文件 ...

  4. 朗科实习期间心得笔记(七)

    bash多命令执行方法:   1.命令替换     COMMAND1  $(COMMAND2)   2.管道     COMMAND1  |   COMMAND2  |  COMMAND3  .... ...

  5. 朗科实习期间心得笔记(六)

    与用户账户和组账户相关的文件: /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/default/useradd /etc/login.defs ...

  6. 朗科实习期间心得笔记(四)

    SHELL:   用户与操作系统之间完成交互式操作的一个接口程序,为用户提供简化了的操作. 上世纪70年代中期,Bell实验室,由bourne开发,bourne shell,简称sh:   Bill ...

  7. 朗科实习期间心得笔记(八)

    其他的文本处理命令:     wc命令     cut命令    在文件的每一行中提取片断    注意:能够被cut命令修剪的文本文件或数据内容,一般是具有某种特定格式或结构的文本文件或数据内容:如: ...

  8. 朗科实习期间心得笔记(五)

    bash特性 十二.bash变量 变量:一段有名称的连续的内存空间:这段内存空间的名称,称为变量名,在这段内存空间中存储数据,则称为变量值: 向内存空间(变量)中存储数据的过程,称为赋值操作:赋值的符 ...

  9. JAVA基础学习精简心得笔记整理

    JAVA基础学习精简心得笔记整理 配置java环境变量 Java的运行过程  基本数据类型 引用数据类型 逻辑运算符 数组 方法重载 封装 继承 多态 多态的作用 单例设计模式 接口interface ...

最新文章

  1. ASP.NET Web API Selfhost宿主环境中管道、路由
  2. WCF的三个名称/命名空间,你是否傻傻分不清楚?
  3. LeetCode Sort Characters By Frequency
  4. Web开发(一)·期末不挂之第三章·HTML基础二(html实现表格和表单)
  5. 堆垛管理,下料管理系统
  6. Fabio技术手册(1):概述和快速上手
  7. 我的Go+语言初体验--Go+之环境安装与程序编码初体验
  8. PHP程序员如何突破技术瓶颈
  9. 用node.js读写文件
  10. 01-Javascript简介
  11. 使用 Anthem.NET 的常见回调(Callback)处理方式小结[转]
  12. 员工管理系统————员工删除模块
  13. SharePoint2010 获取网站集SPSite,SPWeb对象的4种方法
  14. ctbs mysql_C/C++/Java
  15. 即时通讯创业必读:解密微信的产品定位、创新思维、设计法则等
  16. 音频效果器的介绍与实践
  17. Java生成圆角图标
  18. HTML5超级链接、图片与多媒体
  19. 哔哩下载姬(B站下载工具)
  20. LANP源码安装注释版

热门文章

  1. 支付宝小程序商品加入购物车动画
  2. C++ Primer Plus(第六版)编程练习答案 所有章节汇总
  3. 带你入门three.js——从0到1实现一个3d可视化地图
  4. CSS 渐变背景动画的实现
  5. android最新版本 note8,别等了 三星S8和Note 8确认无缘升级Android 10系统
  6. 【list转map的几种实用方法】
  7. vue项目打包成apk安装包详细步骤
  8. Non Standard Futures Options
  9. Asp.net mvc partialView
  10. 因缘是诗意和困境的混杂