1. 移动光标

H                 #移到屏幕的左上角
M         #移到屏幕的中间行开头
L          #移到屏幕的最后一行
[         #移到文件开始位置 (双击)
]         #移到文件结束位置(双击)
:n         #移到文件的第n行
Ctrl + b      #屏幕上卷一个菜单
Ctrl + F       #屏幕下卷一个菜单
h # 将光标左移一格
l # 将光标右移一格
j # 将光标下移一格
k # 将光标上移一格
w # 将光标移到下一个小字的前面
b # 将光标移到前一个小字的前面
0 # 把光标移到当前行的第一个字符处
$ # 把光标移到当前行的最后一个字符处

2. 修改内容

nx                  #删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)
ndw          #删除光标位置其实的n个字符组(dw删除光标所在的单词)
d0          #将行的开始到光标位置的字符全部删除
d$ 或D        #将光标位置起始到行尾的字符全部删除
ndd          #将光标位置起始的n行(整行)删除(dd表示删除光标所在行)
:start,endd      #删除文件的第start到end行
rc #把光符所在字符替换成c
R #覆盖本行内容
u #恢复上一次的修改
cw #改变光标所在单词
C #改变一行光标位置以后的部分
cc或S #修改一整行

3. 寻找替换

/pattern                  #向后寻找指定的pattern ,若遇到文件尾,则从头再开始。
?pattern #向前寻找指定的pattern ,若遇到文件头,则从尾再开始。
n #在上次指定的方向上,再次执行
N #在上次指定的方向的相反方向上,再次执行上次定义的查找
:%s/old/new/g #查找所有old并替换为new
:start,ends/old/new #替换指定区域

4. 编辑切换

a                         #在光标之后开始输入文本
A #在行尾开始输入文本
I #在光标之前开始输入文本
i #在行首第一个非空白字符前输入文本
o #在光标所在行后插入一空行
O #在光标所在行前插入一空行

5. 复制及移动文件

yy                        #把当前行放入缓冲区
yw #把光标所在的单词放入缓冲区
p #将缓冲区内容取到光标所在行的下面一行
P #将缓冲区内容取到光标所在行的上面一行
:first,last co dest   #将first 到last行的数据复制到目标行(dest)下面
:Start,end m dest    #将start 到 end行的数据移动到目标行(dest)下
:r filename       #将指定文件的内容读入光标所在行下

6. 其他

vi                 #进入vi而不读入任何文件
vi filename #进入vi并读入指定名称的文件(新、旧文件均可)。
vi +n filename #进入vi并且由文件的第几行开始。
vi + filename #进入vi并且由文件的最后一行开始
vi filename(s) #进入vi并且将各指定文件列入名单内,第一个文件先读入
u            #取消前一指令
Ctrl + l        #刷新屏幕显示
:set nu    #显示文件的行号,但不会存文件
:set nonu       #解除行号显示
e! #重新装入当前文件,若当前文件有改动,则丢弃以前的改动
:sh #启动sh ,从sh中返回可用exit或ctrl+d
:! Command #执行命令command
!! #重新执行上次的:! Command子命令

7. 整理的脑图

linux下的文本编辑器VI的使用命令的更多相关文章

  1. linux下Vim文本编辑器的常用快捷键

    Linux插入命令 a 在光标之后插入字符 A  把光标移动到行首尾进入插入模式 i 在光标之前插入字符 I 把光标移动到行首并进入插入模式 o 在光标下插入新行 O 在光标上插入新行 Linux定位 ...

  2. sed——linux下对文本当控制操作(替换,追加)

    sed——linux下对文本当控制操作(替换,追加) 2011-12-12 19:27:17 分类: LINUX Linux下sed命令 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容 ...

  3. 文本编辑器 vi/vim 的使用

    文本编辑器 vi/vim 一.启动与退出 1. vim 2. vim 文件名(可以是存在的文件,也可以是不在的文件) 3.退出 :q   或者:x 在非“插入”模式二.vi/vim的工作模式 1.正常 ...

  4. linux操作之文本编辑器

    1.文本编辑器的作用 编辑和修改系统中的那些以文本形式存在的文件(特别是各种配置文件),也可以用于 编写程序代码 2.linux下的常见编辑器 nano.Emacs.gedit.vim等 3.vim三 ...

  5. linux下的文本操作之 文本查找——grep

    摘要:你有没有这样的应用场景:调试一个程序,出现debug的提示信息,现在你需要定位是哪个文件包含了这个debug信息,也就是说,你需要在一个目录下的多个文件(可能包含子目录)中查找某个字符串的位置: ...

  6. linux下查看当前用户的 三个命令

    linux下查看当前用户的 三个命令 1,whoami; 2,id -un; 3,who -H  可以列出当前所有的    NAME (用户名)    LINE (窗口列表)    TIME(开启时间 ...

  7. linux 下 apache启动、停止、重启命令

    原文:linux 下 apache启动.停止.重启命令 基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐/u ...

  8. Linux下的启动oracle的EM的命令

    Linux下的启动oracle的EM的命令 1.启动数据库 su - oracle $sqlplus / as sysdba sql>startup 2.启动监听 $lsnrctl LSNRCT ...

  9. Linux下文件搜索、查找、查看命令

    Linux下文件搜索.查找.查看命令 1.最强大的搜索命令:find 查找各种文件的命令 2.在文件资料中查找文件:locate 3.搜索命令所在的目录及别名信息:which 4.搜索命令所在的目录及 ...

随机推荐

  1. 5.1 javassist基本使用

    假设要使用javassist创建一个类: package com.alibaba.dubbo.demo.test; public class Emp { //属性 private int accoun ...

  2. 第一章 Java加解密简介

    1.加密算法: 移位.替代(古典加密) 对称加密:DES.AES 非对称加密:RSA 散列函数算法(单向加密):MD5.SHA.Mac 数字签名算法:RSA.DSA 其中,前三种主要完成数据的加解密: ...

  3. libcurl HTTP POST请求向服务器发送json数据【转】

    转载:http://blog.csdn.net/dgyanyong/article/details/14166217 转载:http://blog.csdn.net/th_gsb/article/de ...

  4. C# DevExpress GridControl导出表格【转】

    DevExpress的GridControl提供方便的数据导出功能,可以方便的导出Exce,PDF,Html页面,world形式,无需写额外的代码,方便.快捷. /// <summary> ...

  5. sharepoint 2010 记录管理 对象模型

    首先说一下什么是记录管理:这里有详细的说明 在 网站设置->网站集管理->网站集功能 中启用 “现场记录管理” 启用现场记录管理后在 网站管理 中多了2个功能“内容管理器设置” 和“内容管 ...

  6. C/C++二叉树搜索树操作集

    啥是二叉查找树 在数据结构中,有一个奇葩的东西,说它奇葩,那是因为它重要,这就是树.而在树中,二叉树又是当中的贵族.二叉树的一个重要应用是它们在查找中的应用,于是就有了二叉查找树. 使二叉树成为一颗二 ...

  7. .Net(c#)打印--多页打印

    如果要实现多页打印,就要使用PrintPageEventArgs类的HasMorePages属性. 我们对之前的代码作如下变更:      增加PrintDocument的BeginPrint和End ...

  8. 发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser

    发布一个高效的JavaScript分析.压缩工具 JavaScript Analyser 先发一段脚本压缩示例,展示一下JSA语法压缩和优化功能. try { //xxxx(); } catch (e ...

  9. 屌丝就爱尝鲜头——java8再判断

    这节,我们来通过具体的实例来看看Java8的具体用法. 首当其冲,就是lambda用法. 这里的案例,就是用lambda来实现runnable接口,我们知道以前用匿名内部类的方式来实现runnable ...

  10. 揭秘uc浏览器一

    首先,看一下项目完成后的,最终效果是这样的: 一.主界面 二,书签界面 三.主界面 四.操作对话框界面 这几个界面你是否看到了uc浏览器的影子了,其实我说你也可以了,在接下来篇幅中,我将手把手叫大家完 ...