1.Vim是进阶版的vi,vim不但可以用不同颜色显示文字内容,还能进行诸如shell script,C program等程序编辑功能。

  区别:vi是老师的字处理器,不过功能已经很齐全,但还是有可以进步的地方。

     vim则是一个“程序开发工具”而不是文字处理软件。在vi 的基础上加入了支持正则表达法的搜寻架构,多档案编辑、区块复制等等。

2、vi有一般模式,编辑模式、与指令列命令模式。

一般模式:可以用上下左右来移动光标,也可以使用“删除字符和删除整行”“复制和粘贴”来处理你的文件,但无法编辑文件。

编辑模式:在一般模式下,按下“i,I,o,O,a,A,r,R(取代)”等任何一个字母之后才会进入编辑模式。如果要回到一般模式,则按下“ESC”按键即可退出编辑模式。

指令列命令模式:在一般模式当中,键入“:/ ?”三个中任何一个按钮,就可将光标移动到最底下那一行。在这个模式当中,可以提供“搜寻资料、读取、存盘、大量取代字符、离开vi、显示行号”等动作

vi后面一定要加档名:vi test.txt.进入文档编辑模式

离开字符命令“:wq”

ls -l:查看文件属性

一般模式下:h(向左)j(下)k(上)l(右)移动光标,如果想要进行多次移动的话,向下移动30行可使用“30j”或者"”

"ctrl+f"="page down"

"ctrl+b"="page up"

"ctrl+d":向下移动半页

“ctrl+u”:向上移动半页

"+":光标移动到非空格符的下一列

“-”:光标移动到非空格符的上一列

“20<space>”:光标会向后面移动20个字符距离

“0或者Home”:移动到这一行的最前面字符处

“$或者End”:移动到这一行的最后面字符处

“H”:光标移到这个屏幕的最上方那一行的第一个字符

“M”:光标移动到这个屏幕的中央那一行的第一个字符

“L”:光标移动到这个屏幕的最下方那一行的第一个字符

“G”:移动到这个歌档案的最后一行

“nG”:n为数字,移动到这个档案的第n行。

“gg”:移动到这个档案的第一行,相当于1G

“n<Enter>”:n为数字,光标向下移动n行

“/word”:向光标之下寻找一个名称为word的字符串,如在档案内寻找vbird这个字符串,输入/vbird即可

“?word”:向光标之上寻找一个名称为word的字符串,如在档案内寻找vbird这个字符串,输入/vbird即可

“n”:代表重复前一搜寻的动作。

“N”:刚好与n相反,为反向进行前一个搜寻动作。

注:使用/word,配合n及N是非常有帮助的,让你快速寻找关键词

“:n1,n2s/word1/word2/g” :n1 与 n2 为数字。在第 n1与 n2 行间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』。(常用)

“:1,$s/word1/word2/g ”:从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)

“:1,$s/word1/word2/gc” :从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)

“x,X”:在一行字当中,x为向后删除一个字符,X为向前删除一个字符

“nx”:n为数字,连续向后删除n个字符。

“dd”:删除光标所在的那一行

“ndd”:n为数字,删除光标所在的向下n行

“d1G“:删除光标所在到第一行的所有数据

“dG”:删除光标所在到最后一行的所有数据

“d$”:删除光标所在处到该行的最后一个字符

“d0”:数字为0,删除光标所在处,到该行的最前面一个字符

“yy”:复制光标所在的那一行

“nyy”:n为数字,复制光标所在的向下n行

“y1G”:复制光标所在行到第一行之间的所有数据

“yG”:复制光标所在行到最后一行的所有数据

“y0”:复制光标所在的那个字符到该行行首的所有数据

“y$”:复制光标所在的那个字符到该行行尾的所有数据

“p,P”:p为将已复制的数据在光标下一行贴上,P则为贴在光标的上一行。

“j”:将光标所在列与下一列的数据结合成同一列

“c”:重复删除多少个数据。向下删除10行,10cj

“u”:复原前一个动作。

“CTRL+r”:重做上一个动作

“.”:重复前一个动作的意思

编辑模式:

“i,I”:i为从目前光标所在处插入,I为目前所在行的第一个非空格符处开始插入

“a,A”:a为从目前光标所在的下一个字符处开始插入,A为光标所在行的最后一个字符处开始插入

“o,O”:o为在目前光标所在的下一行处插入新一行,O为目前光标所在处的上一行插入新的一行

“r,R”:r只会取代光标所在的那一个字符一次,R会一直取代光标所在的文字,直到按下ESC为止

“ESC”:退出编辑模式,回到一般模式

指令列模式:

!:在vi中,常常具有强制的意思

ZZ:大写的Z,若档案没有更改,则不存储离开,若档案已经更改过,则存储后离开。

:w[filename]  :将编辑的数据存储成另一个档案

:r[filename] :在编辑的数据中,读入另一个档案的数据。即将[filename]这个档案内容加到光标所在行后面

:n1,n2 w[filename] :将n1到n2的内容存储成filename这个档案

:set nu  :显示行号

:set nonu :取消行号

在vi底下作了很多的编辑动作后,想还原成原来的档案内容:按下“:e!”即可恢复成档案的原始状态

“:! command”:暂时离开vi到指令列模式下执行command的显示结果

例如:“:! ls/home”:即可在vi当中观察看/home底下以ls输出的档案信息

第十章 Vim程序编辑器学习的更多相关文章

  1. 第十章 Vim程序编辑器学习(下)

    在试用vim编辑时,vim会在于被编辑的档案的目录下,再建立一个名为****.swp的档案,如果你的系统因为某些原因断线,你编辑的档案还没有存储,这个时候的****.swp就能够挥发救援的功能 1.在 ...

  2. 第十章、vim 程序编辑器

    第十章.vim 程序编辑器   1. vi 与 vim 1.1 为何要学 vim 2. vi 的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim 的暂存档.救援回复 ...

  3. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

  4. vim程序编辑器---常用操作整理

    vim程序编辑器---常用操作整理 移动光标方法 o 在光标行的下一行,进入编辑模式 $ 移动到光标这行,最末尾的地方 G(大写) 移动到文件最末行 :set  nu 文件显示行数 :set  non ...

  5. 命令工具 -(1)Vim 文本编辑器学习

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 提起 Linux,大家都听说过这句话:Linux 一切皆文件. 配置一个服务就是在修改它 ...

  6. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

  7. Linux学习笔记—vim程序编辑器

    vi和vim vim是vi的升级版,支持vi的所有指令 vi的使用 vi分为三种模式:一般模式.编辑模式.命令行模式 一般模式 以vi打开一个文件就直接进入一般模式了,这个模式下可以使用上下左右按键来 ...

  8. 攻城狮在路上(叁)Linux(三十一)--- vim程序编辑器

    本篇主要介绍vim编辑器的使用方式,具体内容后续补充.

  9. 鸟哥私房菜基础篇:vim 程序编辑器习题

    猫宁!!! 参考链接:http://cn.linux.vbird.org/linux_basic/0310vi.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-我用 vi 开启某个档案后,要在 ...

随机推荐

  1. gridview+checkbox的各种操作【转】

    来源:http://hi.baidu.com/heavensxq/item/29736dcfbdc30403c710b2b1 1.首先如何在gridview中加入一个checkbox,注意不是chec ...

  2. Linux-实用的工具

    1.Nethogs-查看进程占用带宽情况wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # ...

  3. HTML5鼠标hover的时候图片放大的效果展示

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. web前端面试2

    百度另外一部门面试 1.前端html5新特性 2.数组常用函数 3.前后台json树形结构遍历,对算法的了解 4.css3背景属性设置为适合匹配模块的属性是什么 5.jquery插件的写法 6.研究过 ...

  5. centos6.5 安装iptables

    阿里云默认是没有安装iptables 安装 yum install -t iptables yum install iptables-services 检查iptables服务的状态 service ...

  6. Oracle NoLogging Append 方式减少批量insert的redo_size

    业务处理中,很多时候使用实表临时表处理中间结果,而实表的Insert操作缺省会记录redo log,针对此问题收集相关测试总结信息如下: [转] 常见dml.ddl语句使用nologging选项所生成 ...

  7. visibility和display的区别

    大多数人很容易将CSS属性display和visibility混淆,它们看似没有什么不同,其实它们的差别却是很大的. visibility属性用来确定元素是显示还是隐藏的,这用visibility=& ...

  8. No Suitable Driver Found For Jdbc_我的解决方法

    转载自:http://www.blogjava.net/w2gavin/articles/217864.html      今天出现编码出现了No suitable driver found for ...

  9. GCC同时使用静态库和动态库链接

    一 在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库.使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有两个库 ...

  10. 拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。

    如果在调试过程中出现异常“拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限.”则可以通过以下方式解决: 打开master数据库,打开扩展 ...