一、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. C#写文本日志帮助类(支持多线程)

    代码: using System; using System.Configuration; using System.IO; using System.Threading.Tasks; namespa ...

  2. 基于DevExpress开发的GridView如何实现一列显示不同的控件类型

    在很多DevExpress的使用例子里面,我们可以看到,基于GridView实现的不同控件展示的时候,每一列的控件类型都是一样的,如果我要某一列的一行让用户可以从下列列表选择选项,而其他行不可选择,那 ...

  3. node.js实现CURL功能

    PHP中的CURL功能很好实现,直接四五行代码封装一下就OK了.node.js中如何实现CURL的功能呢,下面详细介绍. 这里需要用到request这个库,所以先安装此包: npm install r ...

  4. ExtJS4图片验证码的实现

    ExtJS4学习笔记(十)---ExtJS4图片验证码的实现 转自:http://blog.sina.com.cn/s/blog_8d4bbd890100xaxh.html     上多少篇文章,重要 ...

  5. [持续更新] 文章列表 last updated SEP 18, 2016

    1.前端 HTML5快速学习二 Canvas@20141125 HTML5快速学习一@20141122 2.ASP.NET(MVC) MVC5+EF6 入门完整教程14--动态生成面包屑@201608 ...

  6. 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性

    [索引页][源码下载] 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性 作者:weba ...

  7. sql 去重

    ;WITH CETAS (SELECT *, ROW_NUMBER() OVER (PARTITION BY SearchTask_PKID ORDER BY SearchTask_PKID) Row ...

  8. MySQL Query Profile

    MySQL Query Profiler, 可以查询到此 SQL 语句会执行多少, 并看出 CPU/Memory 使用量, 执行过程 System lock, Table lock 花多少时间等等.从 ...

  9. Apns推送中的的json格式介绍

    在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送.下面接受我在进行apns推送时候总结的一点apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 a ...

  10. 以Web Host的方式来寄宿Web API

    一.新建一个Common的类库项目并新建一个测试用的Contact实体类 namespace Common { public class Contact { public string Id { ge ...