概念:vi与vim的区别

vi是一款老式的文字处理软件,不过现在依然广泛使用,所有的UnixLike系统都会内置vi文本编辑器。

vim可以看出vi的升级版,不过vi更像是一个程序开发工具,功能也比vi多很多。

vim的使用

vim分三种模式:一般模式、编辑模式、命令行模式。

一般模式:可以完成复制、粘贴、删除等操作。

编辑模式:可以进行插入和替换,也就是直接编辑文件内容。

命令模式:可以进行替换、查找、显示行号等额外功能。

模式的切换:

在一般模式按i、o、a、r(大写也行)可以进入编辑模式。

在一般模式按?、:、/三个键可以进入命令行模式。

在编辑模式和命令模式按esc可以进入一般模式。

只用在命令模式和一般模式可以退出vim。

vim的操作特别丰富,下面博主只裁剪出博主常用的部分,其他功能大家可以自行百度或者man vim。

一般模式下:

移动类:

光标移动:←(h)、↓(j)、↑(k)、→(l),在移动前还可以输入数字,表示移动的步数。

下翻一页:ctrl+f。

上翻一页:ctrl+b。

回到这一行开头:Home

回到这一行结尾:End

到最后一行:G

到第一行:gg

向下移动n行:n+enter

删除复制粘贴类:

向后删除一个字符:x。

向前删除一个字符:X。(数字+x/X,数字代表删除的数目。)

删除当前行:dd。(数字+dd,数字代表想要删除的行数。)

复制当前行:yy。(数字+yy,数字代表想要复制的行数。)

在前一行进行粘贴:P(大写)。

在下一行进行粘贴:p(小写)。

合并当前行和下一行:J(大写)。

撤销上一个操作:u(小写)。

重做上一个操作:ctrl+r。(注:这个重做不是重复刚刚的操作。)

重复刚刚进行的哪一个操作:.(小数点)。

保存后退出vim:ZZ(大写)。

在一般模式按下进入编辑模式的键时的区别如下:

i:在当前光标出插入。

I:在当前光标所在行的第一个非空格字符处插入。

a:在当前光标的下一个位置插入。

A:在当前光标所在行的最后一个字符处开始插入。

o(小写):在光标所在行的下一行新插入一行。

O(大写):在光标所在行的上一行新插入一行。

r:替换当前光标所在位置的字符,只给你一次输入机会。输入完自动返回一般模式。

R:替换档期光标所在位置的字符,可一直输入,直到你按下esc。

从一般模式切到命令模式的时候的功能区别(很多情况下执行完毕后就自己回到一般模式了,没有自动退回的按esc可退回,因为":"在这里有特殊意义所以下面用空行来排版,":"一律视为输入)

/word  向下寻找word这个字符串。

?word  向上寻找word这个字符串。

注  查找后按n表示重复上一个查找操作,按N表示反向重复上一个查找操作。

:w  保存数据。

:w!  强制保存数据,当你有这个文件的所有修改权,而恰好文件又被设置成只读的时候可以用。(之后的强制都是类似的意思。)

:q  退出vim,如果你修改过文件可能就退出不了必须用下面的命令。

:q!  强制退出vim。

:wq  保存后退出vim。

:w  filename  另存为filename文件,但不会退出vim,退出也要再决定刚刚的修改要不要保存再原文件上。

:r  filename  将filename文件的内容读到这个文件中来。

:! command  暂时退出vim,用shell执行command命令。

:set nu  显示行号。

:set nonu  不显示行号。

注  从这里开始":"回到规范格式的行列,另外以上命令vi与vim通用。

vim的功能

块选择(相当好用的东西)

一般模式下:

按下v(小写):移动游标,经过的地方会连接起来反白。

按下V(大写):移动游标,经过的行都会反白。

按下ctrl+v(小写):移动游标会以四边形的方式反白文字。

之后可以按y复制反白的地方,或者按d删除反白的地方,p是粘贴,最后一个ctrl+v的反白与粘贴请务必实验下,非常方便。

多文件编辑

可以用vim同时打开多个文件一下命令可以用来控制。(下面三个":"是输入)

:n  编辑下一个文件。

:N  编辑上一个文件。

:files  列出这个vim打开的所有文件。

多窗口功能(下面两个":"是输入)

:sp  打开同一个文件的两个窗口。

:sp filename  打开filename文件分屏处理。

分屏移动的方法

先按下ctrl+w(一直按着可以看到游标在不同分屏里疯狂切换),然后松开w(ctrl可松可不),如果之后按w是移动到下一屏,也可以按↓/j,上一屏是↑/k。

vim的文件恢复机制

当你的文件被编辑的时候,会在同目录生成一个filename.swp文件,如果因为有人在你之前打开了这个文件或者你上次编辑这个文件的时候vim因为某种原因不正常退出了,在你打开的时候这个文件的时候vim就会检测到filename.swp这个文件的存在,就会出现警告信息,问你是怎么回事儿,是否需要恢复文件,或者叫你另外一个哥们儿把文件关了,你要改动了,或者你只是看看也可以用只读模式打开,等等。vim的提示很清楚可以自己看,如果不想再次看到这个警告信息,只有把filename.swp删了就行,不管是在提示下删除还是手动删除都行。

其他:

1,vim的环境配置文件是/etc/vimrc,每个用户的个性化设置文件是~/.vimrc。

2,vim会主动记录你的行为在~/.viminfo里面。

3,vim的使用请注意语言编码问题,需要考虑的问题有Linux本身支持的语系(/etc/sysconfig/i18n),终端支持的语系(LANG变量),文件的编码。

linux——(6)vim与vi的更多相关文章

  1. Linux的vim和vi编辑器

    vim和vi的基本介绍 所有的Linux 系统都会内建vi 文本编辑器. Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计. 代码补完.编译及错 ...

  2. Linux中vim和vi编辑器的使用

    vim 和 vi 的关系: 可以将vim视作vi的高级版本,vim可以用颜色或下划线的方式来显示一些特殊信息.vim不止是文本处理软件,而可以说是一个程序开发工具.因为vim里面加入了很多额外功能,例 ...

  3. 小白学Linux(五)--VI/VIM编辑器

    我们操作文件,终究离不开编辑文件,对文件内容的编辑,Linux系统下,我们通常使用VI/VIM来编辑文件.VI是每个Linux都会自带的文本编辑器,VIM是VI的增强版,可能有些发行版本没有自带,可以 ...

  4. Linux学习笔记之VI(VIM)编辑器

    百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi ...

  5. Linux - VIM(VI)编辑器

    VIM(VI)编辑器 简介: VI是一个命令行界面下的文本编辑工具,最早在1976年BILL Joy开发,当时的名字叫做ex.VI支持绝大多数操作系统(最早在BSD上发布),并且功能已经十分强大. 1 ...

  6. Linux系统中的vi/vim指令【详解】

    vi是Unix世界里极为普遍的全屏幕文本编辑器,vim是它的改进版本Vi IMproved的简称.几乎可以说任何一台Unix机器都会提供这套软件. 只要简单的在Shell下执行vi就可以进入 vi 的 ...

  7. 初识Linux(五)--VI/VIM编辑器

    我们操作文件,终究离不开编辑文件,对文件内容的编辑,Linux系统下,我们通常使用VI/VIM来编辑文件.VI是每个Linux都会自带的文本编辑器,VIM是VI的增强版,可能有些发行版本没有自带,可以 ...

  8. Linux学习之十三-vi和vim编辑器及其快捷键

    vi和vim编辑器及其快捷键 1.vi与vim区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方 ...

  9. linux vim,vi编辑器的基础

    在之前我也不知道为什么要学vim和vi编辑器,仅仅是听过别人说这个对与linux非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...

随机推荐

  1. Bayesian optimisation for smart hyperparameter search

    Bayesian optimisation for smart hyperparameter search Fitting a single classifier does not take long ...

  2. awk是全局周期

    需要折行时需要用转译符,转译回车,回车是提交命令     \           如果你的命令中有单引号也可以  awk 支持C语言 awk '{name[$1]=name[$1]+$2} END{f ...

  3. R2—《R in Nutshell》 读书笔记(连载)

    R in Nutshell 前言 例子(nutshell包) 本书中的例子包括在nutshell的R包中,使用数据,需加载nutshell包 install.packages("nutshe ...

  4. 【leetcode 简单】第三十一题 买卖股票的最佳时机

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票. 示例 ...

  5. NYOJ 93 汉诺塔 (数学)

    题目链接 描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针.印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片 ...

  6. 黑色的cms商城网站后台管理模板——后台

    链接:http://pan.baidu.com/s/1hst6Lbm 密码:9ad7

  7. React Native DEMO for Android

    Demo1: 主要知识:navigator,fecth 地址:https://github.com/hongguangKim/ReactNativeDEMO1 Demo2: 主要知识:navigato ...

  8. 商城项目(ssm+dubbo+nginx+mysql统合项目)总结(4)

    我不会在这里贴代码和详细步骤什么的,我觉得就算我把它贴出来,你们照着步骤做还是会出很多问题,我推荐你们去看一下黑马的这个视频,我个人感觉很不错,一步一步走下来可以学到很多东西.另外,视频和相关文档的话 ...

  9. MAC和PHY的区别

    一块以太网网卡包括OSI(开方系统互联)模型的两个层.物理层和数据链路层.物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准.数据编码和电路等,并向数据链路层设备提供标准接口.数据链路层 ...

  10. HTTP 请求 的方法Util

    HTTP请求 的一系列方法总结 /** * *******************************传统请求--开始************************************** ...