vim笔记
vim很优秀,在命令行模式下能体会到vim的强大;
vim的模式
vim有三种模式
1. Command mode
命令行模式,即在这种模式下,输入的任何字符都是命令;
提示 : 如果不知道怎么进入该模式,就按一下Esc;
2. Insert mode
插入模式,即在这种模式下,和记事本基本是一摸一样的,想写什么就写什么;
提示 :
进入 -> 按插入命令进入该模式;
退出 -> 按Esc
3. Last line mode
底线命令模式,即在这种模式下,输入的任何字符都是命令;
提示 :
进入 -> 在命令行模式下按:进入该模式;
退出 -> 按Esc(真是个好按键啊)
vim命令
下面这些命令足以在vim下存活,并提高效率了;
移动
h -> 向上移动
j -> 向下移动
h -> 向左移动
l -> 向右移动
0 -> 到本行行首
^ -> 本行第一个非blank位置 (blank -> 空白)
$ -> 到本行行尾
g_ -> 到行尾非blank位置
gg/H -> 最开始的位置
w -> 移到下一个单词的首部
e -> 移到下一个单词的尾部
G -> 最后一行行首
nG -> 移动到第n行(例:10G -> 移动到第10行)
插入
a -> 当前光标后插入
A -> 当前光标所在行尾插入
i -> 当前光标前插入
I -> 当前光标所在行首插入
o -> 当前光标下一行插入
O -> 当前光标上一行插入
删除
x -> 删除当前光标所在的一个字符,并加入到剪切板中(等同于delete键)
dd -> 删除当前光标所在的行
dnd/ndd -> 删除当前光标所在行及向下属n-1行(例:d3d/3dd -> 删除当前光标行及下面的2行)
修改
r -> 替换光标所在的字符
cw -> 替换从光标所在位置到最后一个单词结尾的字符
匹配
/pattern -> 搜索pattern字符串 (例:/vim -> 匹配 vim 字符串)
如果搜索出多个匹配,按n则继续匹配下一个
撤销
u -> undo (撤销上一步操作,即后退一步)
Ctrl + r -> redo (撤销上一个undo操作)
复制/粘贴
yy -> 复制当前行 (相当于命令 : ddP)
p -> 在当前光标下一行进行粘贴(如果复制的是一行),在当前光标的后面进行粘贴
P -> 在当前光标上一行进行粘贴(如果复制的是一行),在当前光标的前面进行粘贴
ye -> 复制当前光标所在位置到本单词最后一个字符
底线模式命令
:help -> 显示相关命令的帮助
:wq/ZZ -> 保存并退出(即使文件无改动,也更新文件修改时间)
:x -> 保存并退出(只有文件改动了,才更新文件修改时间)
:q! -> 退出,但是不保存
:qa! -> 强行退出所有正在编辑的文件
:e <path/to/file> -> 打开一个文件
:saveas <path/to/file> -> 另存为
:bn/:n -> 切换到下一个文件
:sp -> 分屏