一、vi的三种模式和相互切换

1. 一般模式

1) 移动光标

可以用箭头键,Page Up, Page Down, Home,End等按键移动光标

G,移动到档案最后一行

1G,gg,移动到档案第一行

n<space>,右移n位

n<enter>,下移n行

2)搜寻

/word 向下搜

?word 向上搜

n 正向下一个

N 反向下一个

3) 替换

注意下面命令之间不能有空格

:n1,n2s/word1/word2/g  n1行与n2行之间的word1替换为word2

:1,$s/word1/word2/g  第一行和最后一行之间的word1替换为word2

:1,$s/word1/word2/gc  第一行和最后一行之间的word1替换为word2,替代前提示用户确认

4) 删除

x,X, delete键删除

nx 连续删n个字符

dd 删整行

ndd 向下删n行

d1G 删到第一行

dG 删到最后一行

d$ 删到行尾

d0 删到行首

5) 复制

yy 复制行

nyy 向下复制n行

y1G 复制到第一行

yG 复制到最后一行

y$ 复制到行尾

y0 复制到行首

6) 粘贴

p粘贴到下一行

P粘贴到上一行

7) u复原前一个动作

8) ctrl+r 重做上一个动作

9) .重复动作

2. 编辑模式

一般模式按下i,I,o,O,a,A,r,R进入编辑模式

编辑模式按下Esc退出编辑模式进入一般模式

3. 指令列命令模式

输入『 : / ? 』三个中的任何一个按钮,进入命令模式

按下Esc退出命令模式进入一般模式

常用指令

:w 写入

:w! 只读时强制写,丌过,到底能不能写入, 还是跟你对该档案的档案权限有关

:q 离开

:q! 强制离开,不存档

:wq 储存离开

:w filename 另存

:r filename 读入另一个文档

:set nu 显示行号

:set nonu 不显示行号

二、 vim的特点和应用

1. 带色的显示

2. 区块选择

v 字符选择,会将光标经过的地方反白选择!

V 行选择,会将光标经过的行反白选择!

[Ctrl]+v 区块选择,可以用长方形的方式选择资料

y 将反白的地方复制起来

d 将反白的地方删除掉

3. 多档案编辑

:n 编辑下一个档案

:N 编辑上一个档案

:files 列出目前这个 vim 开启的所有档案

4. 多窗口编辑

:sp [filename] 开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新档案,否则表示两个窗口为同一个档案内容(同步显示)。

[ctrl]+w+↓ 光标可移到下方窗口。

[ctrl]+w+↑ 光标可移到上方窗口。

三、vim的配置

建议通过建立~/.vimrc来配置vim操作环境,例如

vim ~/.vimrc "这个档案的双引号 (") 是注释

set hlsearch "高亮度反白

set backspace=2 "可随时用退格键删除

set autoindent "自动缩排

set ruler "可显示最后一行的状态

set showmode "左下角那一行的状态

set nu "可以在每一行的最前面显示行号啦!

set bg=dark "显示不同的底色色调

syntax on "进行语法检验,颜色显示。

Linux学习之六——使用vi和vim的更多相关文章

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

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

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

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

  3. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

  4. Linux 学习手记(5):使用Vim文本编辑器

    Vim是从vi发展而来的文本编辑器.vi是Linux及类Unix系统中主流的命令行文本编辑器,Vim 除了对vi功能上进行了加强,还加入了对GUI的支持.绝大多数的Linux系统上均安装了vim,vi ...

  5. Linux实操篇 vi和vim编辑器

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

  6. Linux学习笔记:vi常用命令

    在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...

  7. 【Linux学习三】VI/VIM全屏文本编辑器

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...

  8. Linux学习(十六)VIM

    一.简介 VIM是vi的增强版.VIM是Linux平台上的主要编辑器.基本上所有的文档的新增,修改,保存都需要用到它.所以,掌握VIM是很有必要的. vim的安装非常简单,一条命令就可以了: yum ...

  9. Linux学习之六-Linux系统的基础优化

    Linux系统的基础优化 何谓'优化'.顾名思义,优化就是采取某些措施使某个东西或者某事物变得更加优异,出色.对于Linux而言,在初期安装好系统之后,也需要对其进行一定的基础优化,可分为安全上的优化 ...

随机推荐

  1. Hibernate Validator

    http://docs.jboss.org/hibernate/validator/4.2/reference/zh-CN/html_single/#example-group-interfaces

  2. UGUI之Toggle使用

    Toggle对象是一个开关.一般用于单选,可以用Toggle制作背包的选项卡 在场景中创建Toggle按钮.看看他有Toggle组件

  3. 线段树——Ultra-QuickSort

    题目网址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109331#problem/A Description In this prob ...

  4. Plug-in 'org.eclipse.cdt.ui' contributed an invalid Menu Extension

    终于在mac上配置了最新的eclipse和adt(Win和Mac oxs通用),然后就Error Log报这种错误,运行了hello word,没有影响,但是依旧有这种错误! 记录下错误: eclip ...

  5. [js开源组件开发]js手机联动选择地区仿ios 开源git

    js手机联动选择地区 前言:由于网上找到了一个mobiscrool,比较全,但是不开源,只能试用15天,正式版竟然要三千块钱,穷人只能自己动手,写了个只针对弹窗地区选择的. 本站点所有的资源均在git ...

  6. html5 大幅度地增加和改良input元素的种类

    增加和改良input元素 url类型.email类型.date类型.time类型.datetime类型.datetime-local类型.month类型.week类型.number类型.range类型 ...

  7. 关于在EXCEL中输入01-01-01被转换为2001/1/1怎么解决

    当向EXCEL写入类似'01-01-01'或'01-01'这样的数据时,打开EXCEL时会发现数据变成了2001/1/1和1月1日. 这是由于EXCEL自动转换功能,我们得要在输入前多加一个’号. 而 ...

  8. Python数据结构与算法--算法分析

    在计算机科学中,算法分析(Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程.算法的效率或复杂度在理论上表示为一个函数.其定义 ...

  9. 【读书笔记】iOS-简单的数据驱动程序

    一,效果图. 二,,工程文件如下图所示: 三,DataModel.h #import <Foundation/Foundation.h>   @interface DataModel : ...

  10. IOS 网络浅析(一 网络监测~Reachability)

    网络监测应用于各种需要连接网络的app设计,由于现在开发的app几乎都用到网络,因此,网络监测也成为了较为重点的知识,下面我给大家简单讲解一下网络监测的实际应用,依旧会有代码哦. 想要实现网络监测,可 ...