编辑器之神—— vim 的基本操作
二话不说先上图,建议初学者当成桌面背景,每天多看两眼、多敲几行,很快就烂熟于心了。
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 vi/vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
进入输入模式:
i 插入光标前一个字符
I 插入行首
a 插入光标后一个字符
A 插入行末
o 向下新开一行,插入行首
O 向上新开一行,插入行首
进入命令模式:
ESC : 从输入模式或底线命令模式跳出,进入命令模式。
移动光标:
h 左移
j 下移
k 上移
l 右移
M 光标移到中间
L 光标移到屏幕最后一行行首
G 光标移到指定行 "行号 G"
w 向后一次移动一个单词
b 向前一次移动一个单词
{ 按段移动,上移
} 按段移动,下移
Ctrl+d 向下翻半屏
Ctrl+u 向上翻半屏
Ctrl+f 向下翻一屏
Ctrl+b 向上翻一屏
gg 光标移到文件开头
G 光标移到文件末尾
删除命令:
x 删除光标后一个字符,相当于 Del
X 删除光标前一个字符,相当于 Backspace
dd 删除光标所在行,"n dd"删除指定的行数 D:删除光标后本行所有内容,包含光标所在字符
d0 删除光标前本行所有内容,不包含光标所在字符
dw 删除光标开始位置的单词,包含光标所在字符
撤销命令:
u 一步步撤销
Ctrl+r 反撤销
重复命令
. 重复上次命令
文本行移动:
<< 文本行左移
>> 文本行右移
复制粘贴:
yy 复制当前行,"n yy",复制 n 行
p 在光标所在位置向下新开辟一行,粘贴
P 贴在光标上一行
可视模式:
v 按字符移动,选中文本
V 按行移动,选中文本可视模式可以配合 d ,y,<<,>>,实现对文本块的删除,复制,左右移动
替换操作:
r 替换当前字符
R 替换当前行光标后的字符
查找命令:
/ str查找
n 下一个
N 上一个
shift + zz 保存并且退出编辑
输入:进入底线命令/末行模式
w 保存
q 退出 q! 强制退出
wq 保存退出
x 保存退出
:e . 打开内置文件浏览器,浏览当前目录下文件
:n 新建文件
:sp [filename] 横向增加分屏
:vsp [filename] 纵向增加分屏
替换命令
:%s/(目标内容)/(替换内容)/g
把abc全部替换为123
:%s/abc/123/g # 替换光标所在行的abc为123
:1,10s/abc/123/g # 替换1-10行里的abc为123
:1,$s/word1/word2/g 或 :%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)
:set nu # 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu # 与 set nu 相反,为取消行号!
vim里面执行shell下命令:
底线命令模式下输入!,后面跟命令