vi 编辑器常用命令(转)
对于VI的命令行,不需要特意的去记忆,写下来,让要用到的时候能找到就行
游标控制
| h | 游标向左移 |
| j | 游标向下移 |
| k | 游标向上移 |
| l (or spacebar) | 游标向右移 |
| w | 向前移动一个单词 |
| b | 向后移动一个单词 |
| e | 向前移动一个单词,且游标指向单词的末尾 |
| ( | 移到当前句子的首部 |
| ) | 移到下一个句子的首部 |
| { | 移到当前段的首部 |
| } | 移到下一段的首部 |
| [[ | 移到当前区段的首部 |
| ]] | 移到下一个区段的首部 |
| 0 | 移到当前行的首部 |
| $ | 移到当前行的尾部 |
| ^ | 移到当前行第一个非空白字符的地方 |
| + or RETURN | 移动到下一行的第一个字符 |
| - | 移动到上一行的第一个字符 |
| n | | 移动到当前行的字符n的地方 |
| H | 移动到当前屏幕的首部 |
| M | 移动到当前屏幕的中部 |
| L | 移动到当前屏幕的尾部 |
| nH | 移动到当前屏幕首部下的n行 |
| nL | 移动到当前屏幕尾部上的n行 |
| Ctrl-F | 移动到下一屏 |
| Ctrl-B | 移动到上一屏 |
| Ctrl-D | 向下移动半屏 |
| Ctrl-U | 向上移动半屏 |
| z RETURN | 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的首部(是不是不明白???不明白的话,试试就知道是什么意思了) |
| z . | 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的中部 |
| z - | 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的尾部 |
| Ctrl-L | 刷新屏幕,不调整屏幕位置 |
| Ctrl-R | 刷新屏幕,不调整屏幕位置 |
| /text | 向下搜索text |
| / | 重复上次的搜索的内容向下搜索一次 |
| ?text | 向上搜索text |
| ? | 重复上此搜索的内容向上搜索一次 |
| n | 重复上此的搜索,向下搜索 |
| N | 重复上此的搜索,向上搜索 |
| /text/+n | 移动到text所在行的下面n行 |
| ?text?-n | 移动到text所在行的上面n行 |
| nG | 移动到n行 |
| :n | 移动到n行 |
| G | 移动在最后一行 |
内容编辑
A:当前行的尾部追加内容
i:游标前插入内容
I:游标后插入内容
o:在鼠标所在行的下面添加内容
O:在鼠标所在行的上面添加内容
ESC:退出编辑模式
Ctrl-T:移动到下一个tab
Backspace:向后移动一个字符
Ctrl-U:删除当前
cw:删除游标所在的字符,然后进入编辑模式
cc:删除游标所在的行,然后进入编辑模式
C:删除从游标所在的位置到行尾的字符,然后进入编辑模式
dd:删除当前行
ndd:删除第n行
D:删除当前行游标所在的位置后面的字符
dw:删除邮编所在的字符
d}:删除当前段剩余的字符
d^:删除游标前到行首的字符
c/pat:删除游标后面到第一次匹配字符间的内容
dn:删除游标后面到下一个匹配字符间的内容
dfa:删除当前行游标到匹配字符间的内容(匹配的字符也将被删)
dta:删除当前行游标到匹配字符间的内容(匹配的字符不被删)
dL:删除从游标到屏幕的最后一行之间的内容
dG:删除从游标到文件末尾之间的内容
J:连结上下两行的内容
p:在游标后面插入buffer中的内容
P:在游标前面插入buffer中的内容
rx:用x替换字符
Rtext:用text从游标开始处进行替换
u:撤销最后的改变
U:还原当前行的内容
x:向后删除游标所在位置的字符
X:向前删除游标前面的字符
nX:删除前面的n个字符,游标所在的字符将不会被删
.:还原最后的改变
~:反转字母的大小写
y:拷贝当前行到新的buffer
yy:拷贝当前行
"xyy:拷贝当前行的buffer名为x的buffer
ye:拷贝当单词的末尾
文件操作
| :w | 写文件 | ||
| :w! | 写文件,忽略警告信息 | ||
| :w! file | 覆盖文件,忽略警告信息 | ||
| :wq | 写文件之后退出编辑 | ||
| :q | 退出编辑器 | ||
| :q! | 强制退出编辑器 | ||
| :w file | 把文件的内容写到另一个文件 | ||
| ZZ | 退出编辑器,如果文件有改动,则保存再退出 | ||
| :x | 退出编辑器,如果文件有改动,则保存再退出 | ||
| :n1,n2w file | 把n1行到n2行间的内容写到文件file | ||
| :n1,n2w >> file | 把n1行到n2行间的内容追加到文件file | ||
| :e file2 | 在当前文件的命令行模式下编辑file2 | ||
| :e! | 重新从磁盘加载文件 | ||
| :e# | 交替编辑文件 | ||
| :n | 编辑地下一行 | ||
| :n! | 编辑地下一行(忽略警告) | ||
| :r file | 在游标后面插入文件 | ||
| :r !command | 在当前行的后面,插入运行命令后的输出内容 | ||
vi 编辑器常用命令(转)的更多相关文章
- VI编辑器常用命令
Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能. ...
- Linux 操作系统下 VI 编辑器常用命令详细介绍
一.Vi 简介 vi是unix世界中最通用的全屏编辑器,linux中是用的是vi的加强版vim,vim同vi完全兼容,vi就是"visual interface"的缩写.它可以执行 ...
- vi 编辑器常用命令
VI编辑器可以分为3种状态,它们分别是命令模式.输入模式以及末行模式,VI运行后默认进入命令模式. 命令模式:控制屏幕光标的移动,字符.单词或行的删除.替换,复制粘贴数据以及由此进入插入模式和末行模式 ...
- Linux vi 编辑器 常用命令行
1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下'i,I,o,O,a, ...
- linux下vi编辑器常用命令
最近折腾云主机centOS,不得不接触到各种命令,特别是vi编辑器. 时常悔恨当时没好好听金老伯的linux课,导致现在操作命令用的十分生疏,甚至跳转行首行尾都要查一查才知道. 所以〒▽〒有了下面这篇 ...
- Linux环境下vi/vim编辑器常用命令
使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...
- linux vi编辑常用命令
linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下 vi编辑器中有三种状态模式 1. ...
- vi编辑器常见命令的使用
Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能. ...
- Linux vi 编辑器常见命令的使用
Linux vi 编辑器常见命令的使用 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Win ...
随机推荐
- javascript 常用获取页面宽高信息 API
在页面的构建中 常常会需要获取页面的一些宽高信息,例如实现 惰性加载图片 需要获取页面的可见区域高度 和 已滚动区域的高度,以判断图片所在位置是否可见来决定加载图片的时间, 花点时间整理了一下,获取页 ...
- QT中使用自己定的类和Vector出现错误
关于QT自定义类不能调用问题: 在Main()函数里面一定要定义include“XXX.cpp”include“XXX.h”,具体原因我也不知道为什么这样定义,是在一个贴吧看见的,弄了好久才解决. 第 ...
- TCP keep-alive翻译
原文链接: http://www.freesoft.org/CIE/RFC/1122/114.htmhttp://www.freesoft.org/CIE/RFC/1122/index.htm 实现T ...
- 18.scrapy中selector的用法
Selector是一个独立的模块. Selector主要是与scrapy结合使用的. 开启Scrapy shell: 1.打开命令行cmd 2.scrapy shell http://doc.scra ...
- sql server 定期自动清理日志
https://blog.csdn.net/dqs78833488/article/details/51372491
- Ubuntu jdk 8 与 6 切换 (安装与配置)
Switch To Oracle JDK8 Switch To Oracle JDK8 1.1 Switch Oracle JDK in the Unbuntu 14.04 Step1 : Downl ...
- Node MonGoDb 简单的增删改查
let MongoClient = require("mongodb").MongoClient; let url = "mongodb://192.168.200.10 ...
- where 命令
在当前目录及path环境变量指定的目录中搜索相应文件 例:where msbuild 查找msbuild的位置
- 从底层谈WebGIS 原理设计与实现(四):WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图
从底层谈WebGIS 原理设计与实现(四):WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图 作者:naaoveGI… 文章来源:naaoveGIS 点击数:1759 更 ...
- c++11新特性总结(转)
1.类型与变量相关 1.1.nullptr: 取代了NULL,专用于空指针 1.2.constexpr: 近似const, 可以修饰变量,也可以修饰函数, 修饰变量如: const int globa ...