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. Go语言之进阶篇文件传输

    一.文件传输 1.文件传输原理 2.文件传输 示例: 发送方: send_file.go package main import ( "fmt" "io" &q ...

  2. go语言之进阶篇显式调用panic函数

    1.显式调用panic函数 示例: package main import "fmt" func testa() { fmt.Println("aaaaaaaaaaaaa ...

  3. Linux下线程同步的几种方法

    Linux下提供了多种方式来处理线程同步,最常用的是互斥锁.条件变量和信号量. 一.互斥锁(mutex) 锁机制是同一时刻只允许一个线程执行一个关键部分的代码.  1. 初始化锁 int pthrea ...

  4. Cesium原理篇:3D Tiles(1)渲染调度【转】

    Cesium在2016年3月份左右推出3D Tiles数据规范,在glTF基础上提供了LOD能力,定位就是Web环境下海量三维模型数据.虽然目前3D Tiles还是Beta阶段,有不少硬伤,但3D T ...

  5. 杨晓峰-Java核心技术-9 HashMap Hashtable TreeMap MD

    目录 第9讲 | 对比Hashtable.HashMap.TreeMap有什么不同? 典型回答 考点分析 知识扩展 Map 整体结构 有序 Map HashMap 源码分析 容量.负载因子和树化 精选 ...

  6. MySql 5.7安装(随机密码,修改默认密码)两个坑

    MySql 5.7安装(随机密码,修改默认密 下载了MySql 最新版本,安装的过程中,发现了很多新特性 1.data目录不见了 在进行my-default.ini配置的时候 (需要配置 # base ...

  7. Spring Boot集成持久化Quartz定时任务管理和界面展示

    本文是对之前的一篇文章Spring+SpringMVC+mybatis+Quartz整合代码部分做的一个修改和补充, 其中最大的变化就是后台框架变成了Spring Boot. 本工程所用到的技术或工具 ...

  8. 转: 使用MinGW + Eclipse CDT进行C++开发的配置方法

    使用MinGW + Eclipse CDT进行C++开发的配置方法 1 2 3 4 5 6 分步阅读 Eclipse作为开源的IDE,可以用来高效开发Java.C++.C等程序.本文介绍如何在Wind ...

  9. nodejs发送请求

    const https = require('https'); var options = { hostname: 'registry.yarnpkg.com', port: 443, path: ' ...

  10. 无法ping通自身

    今日,ping localhost 超时,ping 127.0.0.1 显示一般故障.无法访问自己电脑上的tomcat.... 居然,居然是防火墙打开了,关了就好了.我勒个去!!!!