vim学习

2014/06/25

vim学习记录

基础命令

两种模式 esc–Normal;i–Insert

简单以下均为Normal模式下

x – 删除当前光标所在的一个字符
:wq – 保存退出
:q! – 不保存退出
dd – 删除当前行,并存到剪切板中
p – 粘贴剪切板中的内容
0 – zero 定位到行首
$ – 定位行尾
hjkl – 移动光标,也可以使用←↓↑→
:help – 显示相关命令的帮助

进阶命令以下命令均在Normal模式下

插入

a – 在光标后插入
o – 在当前行后插入新行
O – up o 在当前行前插入新行
cw – 替换光标所在位置后到一个单词结尾的字符

移动光标

0 – zero, 行首
^ – 到本行第一个不是blank字符的位置,blank即不为space,tab,enter
$ – 行尾
g_ – 本行最后一个不是blank字符的位置
/pattern – 搜索pattern的字符串

copy/paste

p – paste
yy – copy当前行到ddp

undo/redo

u – undo
– redo

heeh

打开/保存/退出/改变文件

:e <path/to/file> – 打开一个文件
:w – 存盘
:saveas <path/to/file> – 另存为
:x, ZZ or :wq – 保存退出
:q! – 退出时不保存
:qa! – 强行退出所有正在编辑的文件
:bn :bp – 同时打开很多文件,使用这两个命令上下切换

第三阶

更好

. – 小数点 可以重复上一次命令
如 . – 将会重复 ##第三阶 –> 上一次命令

  1. – 重复3次 ##第三阶 –> 上一次命令
    N – 重复某个命令N次
    如 2dd – 删除两行
    3p – 粘贴文本3次

更强

NG or :N – 到第几行
gg – 到第一行 相当于1G 或者:1
G – 到最后一行
dgg – 删除当前行到第一行 dg – 删除当前行到最后一行 dw – 删除光标后的一个单词

按单词移动

w – 到下一个单词开头
e – 到下一个单词结尾

最强光标移动

% – 匹配括号移动,包括(,{,【

  • 和# – 匹配当前所在的单词,移动光标到下一个(或者上一个)匹配单词(*是下一个,#是上一个)

更快

如0y$ : 0 -- 先到行头 y -- 从这里开始拷贝 $ -- 拷贝到本行最后一个字符

文内导航