常用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编辑器命令行
游标控制: h 游标向左移 j 游标向下移 k 游标向上移 l(or spacebar) 游标向右移 w 向前移动一个单词 b 向后移动一个单词 e 向前移动一个单词,且游标指向单词的末尾 ( 移到当 ...
- vi编辑器命令
Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能.v ...
- vi 编辑器命令 (share)
转自:http://man.ddvip.com/soft/vieditor/vi.html 一.Unix编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件.Uni ...
- 【Linux】vi编辑器命令
1)进入vi的命令 vi filename : 打开或新建文件,并将光标置于第一行首 vi +n filename : 打开文件,并将光标置于第n行首 ...
- 常用vim编辑器命令行
按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并退出v ...
- linux vi 编辑器命令
游标控制 h 游标向左移 j 游标向下移 k 游标向上移 l (or spacebar) 游标向右移 w 向前移动一个单词 b 向后移动一个单词 e 向前移动一个单词,且游标指向单词的末尾 ( 移到当 ...
- vi 编辑器命令
插入命令 a append after the cursor A append after the current line i insert before the cursor I insert b ...
- 常用vi编辑命令
在自己的博客里存起来,这么多全记住确实有点难,时不时的翻一翻到是可以的. 摘自:http://www.cnblogs.com/junw_china/articles/1708967.html 光标控制 ...
- vi编辑器命令大全
>> from zhuhaiqing.info
随机推荐
- mybatis获取insert插入之后的id
一.为什么要获取insert的id 写了测试类测试插入,插入之后用select查询出来进行Assert 插入成功后,不管Select对比的结果成功还是失败,都希望删除掉测试插入的结果 二.运行环境 m ...
- 【问题记录】MyBatis查询数据库返回多个不同类型参数的结果集的接收方式
其实是个非常简单的问题,但是这玩意儿弄得我很难受,又浪费了一个下午的时间,简直了…… 问题大概是,我在查询数据库时,查询的结果有两个,一个是varchar格式的字段,一个int格式字段,例如: sel ...
- chrome google plugins
Advanced REST client Axure RP Extension for Chrome Charset Chrono下载管理器 Code Cola CSS Sprite Gen ...
- vim 多标签和多窗口
多文件编辑时的利器啊.谁用谁知道. 多标签 一次性以标签的形式打开多个文件: vim -p *.cpp :tabnew 增加一个标签 :tabc 关闭当前的tab :tabo ...
- VC调用外部程序
#include <windows.h> int main() { STARTUPINFO mStatusInfo; memset(&mStatusInfo, 0, sizeof( ...
- sqlserverdatasouce控件如何让添加删除修改自动化
对于sqlserverdatasouce控件,添加插入修改和删除命令,可以自动删除修改更新数据,不需要编写一行代码,但是有时更新失败,原因在于选中了[开放式并发],这个选中,如果该表与其他的数据表关联 ...
- vue and jest测试
测试Vue的filters方法: 局部: import Page from '../src/Page' it('filter', () => { const case = Page.filter ...
- 【webpack学习笔记】a05-模块热替换
什么是模块热替换? 这个功能会在程序运行过程中替换.添加或删除模块,而无需重新加载整个页面 有什么用呢? 保留在完全重新加载页面时丢失的应用程序状态. 只更新变更内容,以节省宝贵的开发时间. 调整样式 ...
- grid-layout
<!-- 创建三个网格布局--> .wrapper { <!--创建一个网格布局 --> display: grid; <!--创建3列 且每列都等距 --> gr ...
- hibernate基本的配置与验证
导入jar包与mysql驱动包 javaBean src/com/crazyit/app/domain/News.java package com.crazyit.app.domain; import ...