如果你想要学习linux或者经常使用linux,那么熟练掌握一种编辑器是十分有必要的。我一直使用的是vi,虽然有点繁琐,但提供的功能真心强大,熟练掌握后必将受益无穷。下面分享一下我的学习心得。

一、进入vi

虽然只是打开一个文件都有学问,掌握好能快速帮你定位到想要的位置,如下:

vi filename :打开或新建文件,并将光标置于第一行首

vi +n filename :打开文件,并将光标置于第n行首

vi + filename :打开文件,并将光标置于最后一行首

vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename....filename :打开多个文件,依次进行编辑

二、光标移动

这个是vi的基础,我们平时的工作会经常要编辑文本或查找日志信息,所以上一页下一页上一行下一行神马的用的非常频繁,下面就罗列一下关于一定光标的相关指令。

1.上下左右:

h:左移一个字符

j:下移一行

k:上移一行

l:右移一字符

2.行内移动

0:所在行行首

$:所在行行尾

^:所在行首字母

3.屏幕内移动

H:当前屏幕首行行首

M:当前屏幕中间行行首

L:当前屏幕尾行行首

4.移动指定行

n-:上移n行至行首

n+:下移n行至行首

n$:下移n-1行至行尾

5.移动到特定位置

G:移至最后一行行首

nG:移至第n行行首

gg:移至第一行行首

三、翻页

翻页命令对于我们查找日志信息非常有帮助,如下:

Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部,输入完敲回车。

四、编辑文本

如果你仅仅是要查看文件内容,可用view等其他命令,我们经常会用vi来编辑文本。虽然有点繁琐但非常实用,需要好好掌握,如下:

1.删除文本

x:删除光标所在位置的字符

dw:删除光标所在位置的单词(应该是从当前字符开始到下个单词结束)

dd:删除光标所在行

d$:删除光标所在位置到行尾的内容

2.复制和粘贴

y可用来赋值文本,结合其他命令,可以实现:

yd:复制单词

y$:复制到行尾

p用来粘贴文本,要实现剪切:使用d删除命令,然后用p将刚删除的内容粘贴到想要的位置。如果要赋值大段的内容,用上面的方法比较麻烦,可用v命令:在要复制的内容开始出按下v,移动光标到结束位置(移动命令参照上面),文本会高亮显示,按下y赋值选中的内容,再用p将文本粘贴到想要的位置即可。

五、查找

我们会经常要根据关键字查找日志信息,比如用户名、账号等,查找命令很简单,有如下两种:

1.从光标处往后搜索

/pattern:pattern即为要搜索的关键字,如果后面有即定位到第一次出现的位置,如果没有则从文本开始处搜索知道找到匹配出。用n可继续定位下一个出现的位置(向后搜索)。

2.从光标处往前搜索

?pattern:pattern即为要搜索的关键字,如果前面没有就从文本末尾开始搜索。用n可继续定位下一个出现的位置(向前搜索)。

六、替换

使用替换命令可将某些特定的内容替换其他的内容,如下:

:s/old/new/ 替换当前行第一个 old 为 new

:s/old/new/g 替换当前行所有 old 为 new

:m,ns/old/new/ 替换m到n行第一个 old 为 new

:m,ns/old/new/g 替换m到n行所有 old 为 new

:m,$s/old/new/ 替换第m行到尾行第一个 old 为 new

:m,$s/old/new/g 替换第m行到尾行所有 old 为 new

:%s/old/new/ 替换整个文本每行第一个 old 为 new

:%s/old/new/g 替换整个文本所有 old 为 new

:%s/old/new/gc 替换整个文本所有 old 为 new ,每次出现提示

以上就是比较常用的vi命令,也是我平时用的比较多的,如果错误欢迎指正。

 

Logo

更多推荐