Linux运维 VIM基本操作

Linux运维相关(八)

学习Linux运维过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。

—— VIM操作 ——

文章目录

  • Linux运维相关(八)
    • —— VIM操作 ——
        • 1.启动
        • 2.文件操作
        • 3.翻屏
        • 4.插入
        • 5.删除、剪切、复制和粘贴
        • 6. 查找与替换
        • 7.拼写检查

其实在平日的日常使用中vim的操作命令我们能用到的很少,几乎就是“i”(编辑模式)、:wq(保存并退出)、q!(强制退出)。但是在Linux运维中,我们需要很多平时用不到的命令。

1.启动

vim -c cmd file: 在打开文件前,先执行指定的命令;
vim -r file: 恢复上次异常退出的文件;
vim -R file: 以只读的方式打开文件,但可以强制保存;
vim -M file: 以只读的方式打开文件,不可以强制保存;
vim -y num file: 将编辑窗口的大小设为num行;
vim + file: 从文件的末尾开始;
vim +num file: 从第num行开始;
vim +/string file: 打开file,并将光标停留在第一个找到的string上。
vim –remote file: 用已有的vim进程打开指定的文件。 如果你不想启用多个vim会话,这个很有用。

2.文件操作

:e file –关闭当前编辑的文件,并开启新的文件。 如果对当前文件的修改未保存,vi会警告。
:e! file –放弃对当前文件的修改,编辑新的文件。
:e+file – 开始新的文件,并从文件尾开始编辑。
:e+n file – 开始新的文件,并从第n行开始编辑。
:enew –编译一个未命名的新文档。(CTRL-W n)
:e – 重新加载当前文档。
:e! – 重新加载当前文档,并丢弃已做的改动。
:e#或ctrl+^ – 回到刚才编辑的文件,很实用。
:f或ctrl+g – 显示文档名,是否修改,和光标位置。
:f filename – 改变编辑的文件名,这时再保存相当于另存为。
gf – 打开以光标所在字符串为文件名的文件。
:w – 保存修改。
:n1,n2w filename – 选择性保存从某n1行到另n2行的内容。
:wq – 保存并退出。
:x – 保存并退出。
:q[uit] ——退出当前窗口。(CTRL-W q或CTRL-W CTRL-Q)
:saveas newfilename – 另存为
:browse e – 会打开一个文件浏览器让你选择要编辑的文件。 如果是终端中,则会打开netrw的文件浏览窗口; 如果是gvim,则会打开一个图形界面的浏览窗口。 实际上:browse后可以跟任何编辑文档的命令,如sp等。 用browse打开的起始目录可以由browsedir来设置:

  • :set browsedir=last – 用上次访问过的目录(默认);
  • :set browsedir=buffer – 用当前文件所在目录;
  • :set browsedir=current – 用当前工作目录;

:Sex – 水平分割一个窗口,浏览文件系统;
:Vex – 垂直分割一个窗口,浏览文件系统;

3.翻屏

ctrl+f: 下翻一屏。
ctrl+b: 上翻一屏。
ctrl+d: 下翻半屏。
ctrl+u: 上翻半屏。
ctrl+e: 向下滚动一行。
ctrl+y: 向上滚动一行。
n%: 到文件n%的位置。
zz: 将当前行移动到屏幕中央。
zt: 将当前行移动到屏幕顶端。
zb: 将当前行移动到屏幕底端。

4.插入

i: 在光标前插入;
I: 在当前行第一个非空字符前插入;
gI: 在当前行第一列插入;
a: 在光标后插入;
A: 在当前行最后插入;
o: 在下面新建一行插入;
O: 在上面新建一行插入;
:r filename在当前位置插入另一个文件的内容。
:[n]r filename在第n行插入另一个文件的内容。
:r !date 在光标处插入当前日期与时间。同理,:r !command可以将其它shell命令的输出插入当前文档。

c[n]w: 改写光标后1(n)个词。
c[n]l: 改写光标后n个字母。
c[n]h: 改写光标前n个字母。
[n]cc: 修改当前[n]行。
[n]s: 以输入的文本替代光标之后1(n)个字符,相当于c[n]l。
[n]S: 删除指定数目的行,并以所输入文本代替之。
类似cnw,dnw,ynw的形式同样可以写为ncw,ndw,nyw。

5.删除、剪切、复制和粘贴

y: 复制在可视模式下选中的文本。
yy or Y: 复制整行文本。
y[n]w: 复制一(n)个词。
y[n]l: 复制光标右边1(n)个字符。
y[n]h: 复制光标左边1(n)个字符。

yor D: 删除(剪切)当前位置到行尾的内容。
d[n]w: 删除(剪切)1(n)个单词
d[n]l: 删除(剪切)光标右边1(n)个字符。
d[n]h: 删除(剪切)光标左边1(n)个字符。
d0: 删除(剪切)当前位置到行首的内容
[n] dd: 删除(剪切)1(n)行。

[n]x: 剪切光标右边n个字符,相当于d[n]l。
[n]X: 剪切光标左边n个字符,相当于d[n]h。
:m,nd 剪切m行到n行的内容。
d1G或dgg: 剪切光标以上的所有行。
dG: 剪切光标以下的所有行。
daw和das:剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系。
d/f:这是一个比较高级的组合命令,它将删除当前位置到下一个f之间的内容。

p: 在光标之后粘贴。
P: 在光标之前粘贴。

6. 查找与替换

/something: 在后面的文本中查找something。
?something: 在前面的文本中查找something。
/pattern/+number: 将光标停在包含pattern的行后面第number行上。
/pattern/-number: 将光标停在包含pattern的行前面第number行上。
n: 向后查找下一个。
N: 向前查找下一个。

:s/old/new - 用new替换当前行第一个old。
:s/old/new/g - 用new替换当前行所有的old。
:n1,n2s/old/new/g - 用new替换文件n1行到n2行所有的old。
:%s/old/new/g - 用new替换文件中所有的old。
:%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。
:%s/表示行尾。
所有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc,加上i则忽略大小写(ignore)。

7.拼写检查

:set spell-开启拼写检查功能
:set nospell-关闭拼写检查功能
]s-移到下一个拼写错误的单词
[s-作用与上一命令类似,但它是从相反方向进行搜索
z=-显示一个有关拼写错误单词的列表,可从中选择
zg-告诉拼写检查器该单词是拼写正确的
zw-与上一命令相反,告诉拼写检查器该单词是拼写错误的

vim更多用法点击这里查看。

你可能感兴趣的:(Linux运维)