linux编辑器——vim

VIM编辑器

背景

vi在mac下严格意义上讲不是一个简单的命令,而是unix系列下的自带的编译器,笔者没记错发明这编译器的家伙是个大胡子,一直致力于软件开源的维护和倡导

$vi filename 这是开始编译一个文件,有时候需要switch user 即sudo

简介

这边笔者不做过多的介绍

请看维基百科

这里的vim编辑器是vi的一种升级版

编辑文件

之前说过基本用法:$vim filename,这边还有其他的用法

$vim +line filename 编辑文件,并定位到第line行

$vim + filename 编辑文件,并定位到最后一行

$vim +/pattern filename 编辑文件,并定位到第一个匹配的位置

关闭文件

这边需要提及vim的模式(之后补充,这边提及),打开文件后需要进入输入模式或者其他模式,才能使用一些命令,退出模式后才能关闭文件

一般按esc按钮来推出vim的模式,然后输入:来选择退出的方式

:q 退出

:wq 保存并退出

:q! 不保存并退出

:w 保存但没有退出,可以继续编辑

:w! 强行保存

退出后就回到命令窗口界面了,当然也可以直接编辑模式退出

如:编辑模式按ZZ即可

模式

i 在当前光标所在的字符前面转为输入模式

a 在当前光标所在的字符后面转为输入模式

o 在当前光标所在行的下方新建一行,并转为输入模式

I 在当前光标所在行的行首转为输入模式

A 在当前光标所在的行尾转为输入模式

O 在当前光标所在的上方新建一行,并转为输入模式

以上的命令必须是非编辑状态或者非其他的状态,然后按下相应的按键进入编辑模式

相关命令

移动

很简单,就是键盘上的上下左右键

w 移至下一个单词词首,中文一般以标点为准跳动

e 移至当前或下一个单词词尾

b 移至当前或者前一个单词词首
nw 移动n个单词

跳转

0 跳转到光标所在的行首

^ 跳转到行首的第一个非空白字符

$ 绝对的行尾

nG 跳转到第#行

gg 跳转到第一行行首

G 跳转到最后一行行首

翻页

ctrl+f 向下翻一屏

ctrl+b 向上翻一屏

ctrl+d 向下翻半屏

ctrl+u 向上翻半屏

删除

x 删除光标所在处的单个字符

nx 删除光标所在处及后面共n个单词

dd 删除光标所在的行

ndd 删除光标所在行及后面共n行

粘贴

p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面

P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面

以上命令只作用于vim编辑器内部,外面复制的内容不行

复制

用法和d命令的用法相同,将d替换成y

替换

r 替换单个字符,但是好像不支持中文

nr 光标后n个字符全部替换

R 进入替换模式,可直接替换光标所在的字符

撤销编辑操作

u 在非模式状态下,撤销前一次的编辑操作

nu 直接撤销最近的n次编辑操作

选取

v 进入选取模式,按字符选取,最多到光标所在的行

V 进入选取模式,但是按矩形进行选取

查找

:/pattern 根据匹配的字符查找

:?pattern 同上

n 下一个

N 上一个

查找并替换

headline,footline s#PATTERN#string#g

n,$s#wyc#王鋆昌#g 替换第n行开始到最后一行中每一行所有wyc为王鋆昌

参考

编辑多个文件

vim file1 file2

:next 切换到下一个文件

:prev 切换到上一个文件

:last 切换到最后一个文件

:first 切换到第一个文件

:q 退出当前文件

:qa 全部退出

未完待续

vim的使用远非及此,之后还有有涉及会及时补充

显示 Gitment 评论