您的位置:首页 > 其它

文本编辑利器-vim

2015-01-03 15:39 127 查看



一、VIM的三种模式

1、一般模式:光标移动,搜索,替换,删除字符,删除整行,复制整行,粘贴整行
2、编辑模式:可以输入任何字符
3、末行模式:读取,存储文件以及其他附加功能

二、如果转换三种模式

编辑模式-->输入模式:
i: 在光标所在处的前方转换为输入模式a: 在光标所在处的后方转换为输入模式o: 在光标所在行的下方新建一个空行并转换为输 入模式
I:在光标所在行的行首转换为输入模式 A:在光标所在行的行尾转换为输入模式O:光标所在行的上方新建一个空白行并转化为输入模式
输入模式-->编辑模式:ESC
编辑模式-->末行模式::
末行模式-->编辑模式:ESC
退出文件:
:q!不保存强制退出
:wq保存并且退出
:x保存并且退出
:wq!强制保存退出
:ZZ编辑模式保存退出

三、移动光标(编辑模式)

(1)、字符移动

h(左)--j(下)--k(上)--l(右)
#{h|j|k|l},在上面这些字符之前加数字N,可以向光标(左下上右)移动N个字符

(2)、单词间的移动
w 移动光标到下一个单词词首
e 移动光标到当前单词词尾或下一个单词词尾
b 移动光标到当前单词词首或前一个单词词首
#{w|e|b} 向后或者向前跳#个

(3)、行内移动
^ 移动光标到行首第一个非空白字符
0 移动光标到绝对行首
$ 移动光标到绝对行尾

(4)、行间移动
#G:直接跳转至第#行
G:直接跳转至最后一行

(5)、句子间移动
(:移动光标到上一个句子
):移动光标到下一个句子

四、编辑命令(编辑模式)

(1)、删除字符
x:删除光标所在处的字符
#x:删除光标之后#个字符(包含当前光标字符)

(2)、删除命令
d:结合光标跳转字符使用,删除跳转范围内的字符
w: 移动光标到下一个单词词首e: 移动光标到当前单词词尾或下一个单词词尾b: 移动光标到当前单词词首或前一个单词词首^:移动光标到行首第一个非空白字符0:移动光标到绝对行首$:移动光标到绝对行尾dd:删除光标所在行
注意:最后一次删除的内容会被保存至缓冲区

(3)、复制命令yank

y:结合光标跳转字符使用,复制跳转范围内的字符
w: 移动光标到下一个单词词首e: 移动光标到当前单词词尾或下一个单词词尾b: 移动光标到当前单词词首或前一个单词词首^:移动光标到行首第一个非空白字符0:移动光标到绝对行首$:移动光标到绝对行尾Y=yy:复制整行
(4)、粘贴命令
p: paste, 粘贴命令
行级别:
p: 粘贴于当前行下方
P: 粘贴于当前行上方
小于行级别:
p: 粘贴于当前光标所在处的后方
P:粘贴于当前光标所在处的前方

(5)、修改命令
c: change,修改命令
结合光标跳转字符使用,修改跳转范围内的字符
w: 移动光标到下一个单词词首e: 移动光标到当前单词词尾或下一个单词词尾b: 移动光标到当前单词词首或前一个单词词首^:移动光标到行首第一个非空白字符0:移动光标到绝对行首$:移动光标到绝对行尾
先删除,再转换为输入模式
cc,C: 删除光标所在处的整行而后转换为输入
#c 删除#行

(6)、撤销命令
u: undo
#u: 撤消最近的#次操作
撤消此前的撤消操作:Ctrl+r
重复前一条命令:.

五、末行模式操作

(1)、行间跳转
#:跳转到#行

$:跳转到最后一行

(2)、内容定界

#: 跳转到第#行.: 当前行$: 最后一行%: 全文,相当于1,$10,$-1:第10行到倒数倒数第二行
c, d, y等命令可以直接附加在地址范围后使用
w path: 将选定范围内的内容保存至某文件中

r path: 将指定的文件中的内容读取到光标下一行
s/查找模式/要替换成的内容/gi

查找模式:可以使用正则表达式
要替换成的内容:不能使用模式,仅能使用引用
g: global, 全行替换
i: 不区分字符大小写
引用模式匹配到的所有内容,可以使用&符号

(3)、vim可视化模式(编辑模式下面)
v:光标走过的字符
V:光标走过的行

(4)、文本查找(编辑模式、末行模式)
用法同less命令:

/pattern 从首部到尾部
?pattern 从尾部到首部
n 从首部开始向尾部搜索

N 从尾部开始向首部搜索

翻屏:
Ctrl+f: 向文件尾部翻一屏
Ctrl+b: 向文件首部翻一屏
Ctrl+u: 向文件首部翻半屏幕
Ctrl+d: 向文件尾部翻半屏幕

(5)、多文件模式(末行模式)

:next 下一个文件
:previous 前一个文件
:last 最后一个文件
:first 第一个文件
:wqall 退出并且保存全部文件

六、多窗口模式

多文件:
-o: 水平分割
-O: 垂直分割
文件切换:Ctrl+w,上下箭头或者左右箭头来切换

单文件:
Ctrl+w --> s: 水平分割
Ctrl+w --> v: 垂直分割
文件切换:Ctrl+w,上下箭头或者左右箭头来切换

七、窗口属性定义(末行模式)

:set nu 显示行号
:set nonu 取消显示行号
:set ai 自动缩进
:set noai 取消自动缩进
:set ic 搜索时忽略大小写
:set noic 搜索时区分大小写
:set sm 显示括号配对情况
:set nosm 关闭显示括号配对情况
:syntax on|off 语法高亮
:set hlsearch 搜索高亮
:set nohlsearch 取消搜索高亮

本文出自 “Unix-like” 博客,请务必保留此出处http://alipay.blog.51cto.com/7119970/1598698
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: