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. Palindrome Number leetcode java

    题目: Determine whether an integer is a palindrome. Do this without extra space. click to show spoiler ...

  2. 三种简洁的经典高效的DIV+CSS制作的Tab导航简析

    在网页中应用选项卡可以使网页显得更紧凑,结合AJAX技术可以使页面在有限的空间内展现更多的内容.本文主要介绍几种简洁的选项卡效果的实现(不涉及滑动门和AJAX),附有实例,无图片,兼容性较好,方便大家 ...

  3. CSS渐变字体、镂空字体、input框提示信息颜色、给图片加上内阴影、3/4圆

    1.渐变字体 主要是看:-webkit-background-clip: text; 该属性 <style> .b1{ width: 500px; height: 200px; font- ...

  4. C#遍历可变化的集合

    如果用foreach,会造成被遍历的集合更改后带来异常问题. 方法一:用for循环可有效的解决这个问题. ;i<List.Count;i++) { if(条件是真) { List.Remove( ...

  5. PHP使用DOM XML操作XML[总结]

    1.前言 XML树状层次结构鲜明,非常适合作为配置文件.PHP中可以使用DOM XML来操作XML.本文总结一下PHP使用DOM XML创建.添加节点.查询XML文件. 2.使用DOM XML XML ...

  6. javascript奇技淫巧之位运算符

    奇技淫巧:指过于奇巧而无益还让人着迷的技艺与制品. And(与) & Or(或) | Exclusive Or(异或) 或者称 Xor ^ Not(非) ~ 位运算符,我们在日常js开发中其实 ...

  7. Windows中snmputil.exe工具的使用

    一.检查windows 系统是否安装了 snmp 组件.可以在 cmd 中输入"net start snmp" 就可以出现显示信息了 二. snmputil,就是程序名拉,呵呵. ...

  8. postman发送get请求

    在地址栏里输入请求url(用到拼接方式):http://127.0.0.1:8081/getuser?userid=1 选择“GET”方式, 点击“send”得到json数据如图   分类: post ...

  9. sell 项目 商品表 设计 及 创建

    1.数据库表之间的关系说明 2.数据库设计 3.创建 商品表 /** * 商品表 */ create table `product_info` ( `product_id` varchar(32) n ...

  10. BIO、NIO和AIO的区别(简明版)

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6543960.html 一:事件分离器 在IO读写时,把 IO请求 与 读写操作 分离调配进行,需要用到事件分离 ...