生产环境下最快速学会vi编辑器的使用

vim是vi的增强版,一般现代linux都不缺那几兆空间,所以预装的都是增强版,本文默认使用vim。

不要使用vim打开大文件,vim会一次性读取所有内容到内存,容易造成宿主机内存溢出。 打开文件前,可以使用du -h命令查看文件大小。一般,100MB以下为宜。

vi编辑器的使用

常用操作

使用vim打开文件,进入普通模式,也是vim默认模式。在这个模式下,可以移动光标,复制、剪切、粘贴、删除文件,在这个模式下输入按键全部都是命令快捷键。

复制y

常用

yy 复制一行

扩展

10yy 向下复制10行
yw 复制光标开始的一个单词
y$ 复制光标到行尾
yfB 复制光标到第一个大写B中间的内容
y2fB 复制光标到第二个大写B中间的内容

粘贴p

p 粘贴复制或剪切的内容
3p 将复制或剪切的内容粘贴三次

删除d

删除的内容会放到剪贴板,按p即可粘贴到其他地方

常用

dd 删除一行

扩展

200dd 删除200行
dw 删除一个单词 (最喜欢啦)
df" 删除到出现的第一个双引号

漫游

墙裂建议学会!!!

j 向下
30j 向下移动30行
k 向上
h 向左
l 向右
0 到行首
^ 到行首第一个字符,如果前面有空格的话
$ 到行尾
gg 快速到文件头
G 快速到文件尾
100G 跳转到第100行

剪切x

扩展

x 剪切当前光标后的一个字符
3x 剪切三个
xp 非行尾交换两个字符,如从bs变成sb

查找字符串

在普通模式下,按下/直接进入查找模式,输入相应的字符串按Enter即可。

n 查找下一个匹配
N 查找上一个匹配
2n 查找下面第二个匹配

插入模式

进入普通模式下,按i,英文模式!!!进!!!

左下角显示-- insert --,表明vim正处于插入模式。这个模式会读取键盘输入,显示在屏幕内.

使用Esc 可以重新进入普通模式,但是输入字符不会保存到文件中。

命令模式

在普通模式下输入:,被解析成命令模式,:后面接命令,回车直接执行命令。
一般我们在命令模式下要做的操作就是退出并保存我们对文件所做的更改。

退出编辑器

:q! 不保存,直接退出(适用于直接查看)
:wq 保存当前文件并退出
:wq! 强制保存并退出
:x 写入文件并退出

:wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
:x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。

进阶操作

:wqa 保存所有文件并退出
:qa! 有多个文件被打开,同时退出

可视化模式

这简直就是类似于windows鼠标的发明一样先进,快速get!!!

行模式v

v行模式,选择一些内容。可视化模式是非常有用的一种模式,在普通模式下按v即可进入。 使用h、j、k、l进行漫游,选中相应的内容,既可以进行相应的增删改查操作等,很方便有没有~~~

h 向左移动 ←
j 向下移动 ↓
k 向上移动 ↑
l 向右移动 →

ctrl+v 块模式

可以对所有的列进行操作,这是什么逆天神器!!!

1) 在命令模式下,执行%s/$/");/g,在行尾追加数据
2) 按ESC进入普通模式,并使用gg回到行首
3) 按ctrl+v进入可视化模式,然后按G到文件尾
4) 不要理会编辑器反应,按I进入插入模式,输入list.add("
5) 按ESC回到普通模式,可以发现以上输入已经在每一行生效了

块模式还可以完成列的呼唤,太方便了。

其他快捷命令

扩展提升,都是很实用的操作。

全局快捷键

gg 快速移动到开头
G 快速移动文本结尾
Ctrl - f 向下翻页 即 PageDown 翻页
Ctrl - b 向上翻页 即 PageUp 翻页
命令模式:n 移动指定行数n

行内移动

w 或者 W 移动到下一个单词(word)
b 或者 B 移动到上一个单词
e 移动下一个单词结尾
^ 移动到当前行第一个非空字符
0 移动到行首
$ 移动到行尾
f{char} 在行内正向查找char字符,光标会移动到目标char上
F{char} 在行内反向查找char字符,光标会移动到目标char上
; 在行内正向重复搜索char字符,同上
, 在行内搜索上个一个char字符,反向搜索,同上

你可能感兴趣的:(vim)