一、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. 取值:webconfig中的key

    String rootUrl = System.Configuration.ConfigurationManager.AppSettings["SiteDomain"].ToStr ...

  2. 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性

    [索引页][源码下载] 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性 作者:webabcd 介绍asp.net mvc 之 asp.net mvc 5.0 新 ...

  3. SignalR-入门

    1.什么是SignalR: ASP.NET SignalR是为简化开发开发人员将实时web内容添加到应用程序过程而提供的类库.实时web功能指的是让服务器代码可以随时主动推送内容给客户端,而不是让服务 ...

  4. python函数和常用模块(一),Day3

    set集合 函数 三元运算 lambda表达式 内置函数1 文件操作 set集合 创建 se = {"123", "456"} # 直接创建一个集合 se = ...

  5. 【Asphyre引擎】Asphyre时隔3年,更名为PXL,全平台支持!

    ps:回忆日志 新版本10月初就推出了,我第一时间(10.2日更新,我当天就看到了)下载下来.发现部分Demo需要XE8才能编译通过,又去下载了一个XE8.折腾完已经深夜,只是粗粗的把Demo都编译了 ...

  6. ASP.NET Web API通过ActionFilter来实现缓存

    using System; using System.Collections.Generic; using System.Linq; using System.Threading; using Sys ...

  7. Android笔记——Android中数据的存储方式(二)

    我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...

  8. The main concepts

    The MVC application model A Play application follows the MVC architectural pattern applied to the we ...

  9. Cannot export AX project in AX7

    I tried to export project from VS.  I succeed before.  But today I got a Microsoft Visual Studio err ...

  10. android 判断屏幕是否亮着

    PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); boolean screen = p ...