Linux中vim编辑器的总结
vi( Visual Interface )
vim( VI iMproveed ):为纯文本(ASCII)全屏编辑器,也是模式化编辑器.
vim的三种模式:
1)编辑模式(命令模式)
2)输入模式
3)末行模式
三种模式之间的切换:
1)编辑模式-->输入模式:
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式;
A:在当前光标所在行的行尾,转换为输入模式;
O:在当前光标所在行的上方,新建一行,并转为输入模式.
2)输入模式-->编辑模式:
ESC键1次.
3)编辑模式-->末行模式:
:
4)末行模式-->编辑模式:
ESC键一次或连续ESC键2次.


图片说明(来源网络)
一、打开文件
# vim /path/to/somefile
vim +# :打开文件,并定位于第#行;
vim + :打开文件,定位至最后一行;
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首;
说明: # 为十进制正整数 PATTERN 代表模式匹配;
文件打开后默认处于编辑模式.
二、关闭文件
1)、末行模式关闭文件
:q 退出
:wq 保存并退出
:q! 不保存并退出
:w 保存
:w! 强行保存
:wq --> :x --> 相当于
2)、编辑模式下退出
ZZ: 保存并退出
三、移动光标(编辑模式)
1)、逐字符移动
h: 左
l: 右
j: 下
k: 上
#h: 移动#个字符
2)、以单词为单位移动
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
#w:
3)、行内跳转
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
4)、行间跳转
#G:跳转至第#行;
G:最后一行
gg: 首行
末行模式下,直接给出行号即可 :#
四、翻屏
Ctrl+f: 向下翻一屏(forward)
Ctrl+b: 向上翻一屏(back)
Ctrl+d: 向下翻半屏(down)
Ctrl+u: 向上翻半屏(up)
五、删除单个字符
x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符
六、删除命令: d --delete
d命令跟(所有)跳转命令组合使用(#最前,d次之,跳转最后)
#dw, #de, #db, #d$
dd: 删除当前光标所在行
#dd: 删除包括当前光标所在行在内的#行
末行模式下:(d在末尾) (作为独立的地址参数,删除该行)
StartADD,EndADDd (StartADD,startaddress--startline)
.: 表示当前行
$: 最后一行
+#: 向下的第#行
-#: 向上的第#行
七、粘贴命令 p --paste (最后一次的删除内容保存于内存中,可用于粘贴)
p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,
如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,
如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;
八、复制命令 y (yank)
用法同d命令
九、修改:先删除内容,再转换为输入模式
c: 用法同d命令 (change)
C:直接将光标处至行位删除,再转换为输入模式
十、替换:r --replace
r: 替换单个字符
R: 连续替换单个字符
十一、撤消编辑操作 u (undo)
u:撤消前一次的编辑操作
连续u命令可撤消此前的n次编辑操作 (内存中保存50次)
#u: 直接撤消最近#次编辑操作
撤消最近一次撤消操作:Ctrl+r
十二、重复前一次编辑操作
. (点号)
十三、可视化模式
| v | 字符选择,会将光标经过的地方反白选择(-- VISUAL --) |
| V | 行选择,会将光标经过的行反白选择(-- VISUAL LINE --) |
| [Ctrl]+v | 区块选择,可以用长方形的方式选择资料(-- VISUAL BLOCK --) |
| y | 将反白的地方复制起来 |
| d | 将反白的地方删除掉 |
| 以上三种模式可对已选文本做各种普通模式下的操作,通过选择指定文本可进行批量的插入、删除、替换操作(如注释掉脚本中的多行) | |
十四、查找
/PATTERN 向下匹配
?PATTERN 向上匹配
n 按照匹配方向的下一个
N 按照匹配方向的上一个
十五、查找并替换
在末行模式下使用s命令 (与sed命令一样)
ADDR1,ADDR2s@PATTERN@string@gi (g--global, i--ignore case)
1,$ 表示全文
% 表示全文
Linux中vim编辑器的总结的更多相关文章
- Linux中vim编辑器常用操作技巧
Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...
- Linux中vim编辑器 的 快捷键 --- 常用 的 都比较全
Linux中vim编辑器的功能非常强大,许多常用快捷键用起来非常方便,这里将我学vim入门时学的一些常用的快捷键分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到 ...
- 【Linux】Linux中VIM编辑器的使用
vim编辑器是我们在Linux中不可或缺的一部分,我们通常会使用它去自定义编辑文本已达到我们的需求,那么vim文本编辑器具体要怎么使用呢.今天跟大家分享一下vim编辑器的使用: vim编辑器模式介绍 ...
- Linux中vim编辑器的缩进的功能键
vim编程时,经常需要对代码进行缩进处理,以增加程序的可读性和后期的代码维护. 可以采用多种方式达到缩进的目的: 1) 命令模式(command mode) 2) Visual模式(visual mo ...
- Linux中vim编辑器莫名下方出现H的问题
在使用vim编辑文件的时候,不知道自己是按了哪个快捷键,导致了,每次编辑文件时,下方命令行出现数字+H的格式命令,使得整个文件没法编辑,强制退出后进入不能解决问题,各种文件的编辑都不行,找不出原因,最 ...
- linux中vim编辑器的翻页命令
Linux jdk查看文件的最后一行 输入$回车 查看文件的第一行 输入0或者1回车 向前翻页 Ctrl + f f为forw ...
- linux中vim编辑器三种模式及常用命令的使用
Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...
- Linux中vim编辑器常用命令
移动光标 Ctrl+f:屏幕向下移动一页,相当于[Page Down]按键Ctrl+b:屏幕向上移动一页,相当与[PageUp]按键 0或功能键[Home]:数字‘0’:移动到这一行的最前面的字符处$ ...
- Linux的vim编辑器中的翻页命令
当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为:Ctrl + f 键 f 的英文全拼为:forward: ...
随机推荐
- Nginx正则表达式之匹配操作符详解
nginx可以在配置文件中对某些内置变量进行判断,从而实现某些功能.例如:防止rewrite.盗链.对静态资源设置缓存以及浏览器限制等等.由于nginx配置中有if指令,但是没有对应else指令,所以 ...
- 从生成文件对比两种创建虚拟机的方式:boot from image和boot from bootable-volume
1. 创建bootable-volume(参考:http://docs.openstack.org/grizzly/openstack-compute/admin/content/instance-c ...
- SpringMvc之参数绑定注解详解之四
简介: @RequestBody 作用: i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对 ...
- hibernate.PropertyAccessException: Null value was assigned to a property of primitive type
日志: [WARN-2016/07/26/18/:45/:52]ProcessEngineServiceImpl.(257) - 审批流程log日志--submitProcess方法:提交人userI ...
- 13、ubuntu终端快捷键(参考 dy9776)
1.终端的快捷键 Tab 自动补全 Ctrl+a 光标移动到开始位置 Ctrl+e 光标移动到最末尾 Ctrl+l 相当于clear,即清屏 Ctrl+Z 把当前任务放到后台运行(相当于运行命令时后面 ...
- 3. Shodan新手入坑指南
什么是 Shodan? 首先,Shodan 是一个搜索引擎,但它与 Google 这种搜索网址的搜索引擎不同,Shodan 是用来搜索网络空间中在线设备的,你可以通过 Shodan 搜索指定的设备,或 ...
- 【转】Lucene不同版本中Field的Keyword、UnIndex,导致lucene 建立索引总是报错 急!!
lucene 建立索引 总是报错 急!! http://zhidao.baidu.com/link?url=iaVs9JH4DfN6iwaWImt7VMJENWCWGGaWFGPjqhUw_jz7Fs ...
- hdu1081
#include<iostream> using namespace std; int GetMaxNum(int a[],int n) //求最大字段和 { int i,sum=0,ma ...
- 20169219《linux内核原理与分析》第七周作业
网易云课堂学习 把write系统调用加入到MenuOS里面 我在试验过程中在MenuOS里加入了time.time-asm.write和write-asm命令.以time和time-asm为例, 步骤 ...
- C#回调函数的简单讲解与应用例子
using System; namespace CallBackTest{ class Program //用户层,执行输入等操作 { static void Main(string[] args) ...