首页 > 代码库 > Linux文本处理---文本编译器vim
Linux文本处理---文本编译器vim
文本编辑器vim
vim:(visual interface improved),是一款全屏的纯文本ASSCII的编辑器,是 vi 的增强版,相比较 vi 来说,vim支持语法高亮等特点。
vim是一种模式化的编辑器,常见的模式有编辑模式(命令模式),输入模式,末行模式,可视化模式,多文件模式,多窗口模式等。
Usage: vim [option]... [FILE]...
一、各个模式的介绍
编辑模式(命令模式):这个模式下键盘操作通常被理解为编辑命令
输入模式:此模式下用户可以输入文本内容
末行模式:vim内置命令行接口,执行vim内置变量
可视化模式:此模式下用户可以高亮选择文本的内容
多文件模式:此模式下用户一次可以打开多个文件
多窗口模式:此模式下在全屏下可显示多个窗口来编辑文件
二、各个模式之间的切换
模式切换类型 | 切换方法 | |
编辑模式 -> 输入模式 | i,a | 在光标所在处的前方,后方转换为输入模式 |
I,A | 在光标所在处的行首,行尾转换为输入模式 | |
o,O | 在光标所在行的上一行,下一行转换为输入模式 | |
输入模式 -> 编辑模式 | ESC | |
编辑模式 -> 末行模式 | : | |
末行模式-->编辑模式 | ESC |
三、编辑模式(命令模式)下的文本操作
操作分类 | 具体方法及意义 | ||
光标移动 | 字符间移动 | j,k | j:向下移动光标 k:向下移动光标 |
h,l | h:向左移动光标 l:向右移动光标 | ||
#{h|j|k|l} | 3h:向左跳跃光标3个字符 4j:向下跳跃光标4行 | ||
单词间移动 | w | w:光标移动到下一个单词词尾 | |
e,b | e:光标跳跃到当前或下一个单词词尾 b:光标跳跃到当前或上一个单词词首 | ||
#{w|e|b} | 3w:光标跳跃到下3个单词的词尾 4b:光标跳跃到上3或4(光标恰好在词首)个单词的词首 | ||
行内移动 | 0,$ | 0:光标跳跃到绝对行首 $:光标跳跃到绝对行尾 | |
^ | ^:光标跳跃到行首第一个非空白字符开头处 | ||
行间移动 | #G | 5G:将光标跳跃到第5行行首第一个非空白字符开头处 | |
G,gg | G:将光标跳跃到行尾第一个非空白字符开头处 gg:将光标跳跃到行首第一个非空白字符开头处 | ||
编辑命令 | x类 | x,#x | x:删除光标所在处的字符 4x:删除光标所在处以及之后的共4个字符 |
d类 | dd D #dd d#d | dd:删除光标所在处的一整行 D:同 d$ 一样,删除光标所在处行向后的所有内容 | |
d结合w,e,b,^,$,0,G,gg一起使用 | dgg:删除光标处以及光标处到行首的所有内容 db:删除光标处到光标处前单词的单词首部的内容 | ||
y类 | yy,Y,y#y,#yy | yy Y:复制光标所在处的整行 y3y 3yy:复制光标所在处的及以下共3行 | |
结合w,e,b,^,$,0,G,gg一起使用 | yw:复制光标所在处向后一个单词首部的的字符 y$:复制光标所在处向后这行所有的的字符 yG:复制光标所在处向后文件尾部行所有的的字符 | ||
p类 | p P | 行级别: p: 粘贴于当前行下方 P: 粘贴于当前行上方 小于行级别: p: 粘贴于当前光标所在处的后方 P:粘贴于当前光标所在处的前方 | |
c类 | cc,#c | cc C:删除光标所在处的一整行,并进入输入模式 | |
结合w,e,b,^,$,0,G,gg一起使用 | cgg:删除光标所在处到文件行首的所有内容,并进入输入模式 c0:删除光标所在处到行首的所有内容,并进入输入模式 | ||
撤消编辑 | u,#u | u:撤销上一次操作 3u:撤销前3次操作 | |
ctrl+r | 撤销上一次撤销操作 | ||
重复上一条命令 | . | 重复上一条命令 |
四、末行模式
本文出自 “黑夜过后” 博客,请务必保留此出处http://guoting.blog.51cto.com/8886857/1435451