Backto iTools Index
Level 0: Prepare
vim
的设计哲学是,
Better, Stronger, Faster.
前期学习曲线非常陡峭,学成之后异常好用。
进入 vim
默认是 normal
模式,无法输入内容,所有的按键都是功能键。需要再按一个 i
进入 insert
模式,才能输入内容,之后按 esc
退回到normal
模式。
Level 1: Survive
# to open a file named xx
~$ vim xx
# by default, you entered the 'normal' mode
press 'i' to insert, press 'esc' backto normal
in normal mode, insert ':q' to quit, ':wq' to save & quit
# to find help
:help <command>
Level 2: Work
to insert
a → 在光标后插入
o → 在当前行后插入一个新行(并进入输入模式)
O → 在当前行前插入一个新行(并进入输入模式)
cw → 替换从光标所在位置后到一个单词结尾的字符
### to copy
y1→ 复制光标处的一个字符到缓冲区
yw → 复制当前单词到缓冲区
y$ →复制当前光标所在的位置到行尾
y^→ 复制当前光标所在的位置到行首
yy→ 复制当前行到缓冲区
nyy→ 复制当前行及其下面n-1行的内容到缓冲区 (例如 3yy: 复制当前行及下两行到buffer)
### to cut
dd→ 删除当前行到缓冲区
x → 删除光标处的一个字符到缓冲区
d$→ 剪切当前行光标所在的位置到行尾
d^ →剪切当前行光标所在的位置到行首
### to paste
p → 粘贴剪贴板 到当前位置之前
P → 粘贴剪贴板 到当前位置之后
to move the cursor
# As usual
hjkl(Left - Down - Up - Right)
# Crurve the line
0 → 数字零,到行头
$ → 到本行行尾
^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
g_ → 到本行最后一个不是blank字符的位置。
nG→光标移至第n行首
n+ →光标下移n行
n- →光标上移n行
gg →跳转到文件头
Shift+g →跳转到文件末尾
行数+gg→跳转到指定行,例跳转到123行:123gg
/pattern → 搜索 pattern 的字符串(陈皓注:如果搜索出多个匹配,可按n键到下一个)
Ctrl+f→向下翻一屏 (front)
Ctrl+d→向下翻半屏 (down)
Ctrl+b→向上返回一屏(back)
Ctrl+u→向上返回半屏(up)
to undo/redo
u → undo
<Ctrl - r> → redo
U → undo all operations on previous line
file operation (buffer)
:e <path/to/file> → 打开一个文件
:w → 存盘
:saveas <path/to/file> → 另存为 <path/to/file>
:x, ZZ 或 :wq → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
:q! → 退出不保存
:qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。用于手忙脚乱退不出来的时候
:bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)
Ref
- 简明 VIM 练级攻略: 耗子哥出品,绝对精品
- Linux—vi/vim复制剪切粘贴以及常用命令小结