vim(1)

【基础篇】
http://blog.csdn.net/yonggang7/article/details/38148075

  1. vim的模式

vim分为三种模式:一般模式,编辑模式,命令行模式。

  1. 一般模式

用vim打开一个文件就进入一般模式,在该模式可以删除字符和行,复制粘贴文件数据。

2.1 移动光标

h: ← 向左一个字符
j: ↓ 向下一个字符
k: ↑ 向上一个字符
l: → 向右一个字符
上面四个可与数字组合使用 10j, 向下10个字符, 20l:向右20个字符。
Ctrl + f 向下翻一页
Ctrl + b 向上一页
Ctrl + d 向下半页
Ctrl + u 向上半页
n+空格 如 5空格 向右移动5个字符
0 移动行首
$ 移动行末尾
H 移动到屏幕最上方第一个字符
M 移动到屏幕中间第一个字符
L 移动到屏幕最下方第一个字符
G 移动到文件末尾
nG n为数字,移动到第n行
gg 移动到文件开始
n+Enter n为数字, 向下移动n行

2.2 查找和替换

/word 向下查找word
?word 向上查找word
n 重复前一次查找
N 重复前一次查找,反向进行
:n1,n2s/word1/word2/g n1,n2为数字,从n1到n2行,将word1替换为word2
:1,$s/word1/word2/g 从第一行到最后一行,将word1替换为word2
:1,$s/word1/word2/gc 替换前确认confirm是否需要替换。

2.3 删除

x 向后删除一个字符
X [Backspace] 向前删除一个字符
nx n为数字,向后删除n个字符
dd 删除当前行
ndd n为数字,删除n行
d1G 删除光标所在到第一行
dG 删除光标所在到最后一行
d$ 删除光标所在到行末尾字符
d0 删除光标所在到行首字符

2.4 复制和粘贴

yy 复制当前行
nyy n为数字,复制向下的n行
y1G 复制从第一行到当前行
yG 复制当前行到最后一行
y0 复制从行首到光标之间的字符
y$ 复制光标所在到行尾之间的字符
p 粘贴到下一行
P 粘贴到上一行
J 将当前行和下一行合并成一行

u 还原上次操作, 复原
Ctrl+r 重做上一个操作, 重做
. 小数点,重复前一个操作

  1. 编辑模式

要编辑文字,按 i, a 等进入, 在左下角出现 INSERT 或 REPLACE 字符。
进入编辑模式命令:
i 光标所在处插入
I 当前行第一个非空字符出插入
a 光标下一个字符开始
A 所在行最后一个字符开始插入
o 下一行开始
O 上一行开始
r 替换光标所在字符,值执行一次
R 一直替换光标所在字符,直到Esc退出

[Esc] Ctrl+c 退出编辑模式,进入一般模式

  1. 命令行模式

在一般模式下,输入 : , /, ? ,三个中一个,光标会到最下面,输入写相应命令。
主要有文件保存,退出vim, 设置vim环境变量。
:w 保存文件
:w! 强制保存
:q 退出vim
:q! 退出不保存文件
:wq 退出并保存文件
ZZ 若文件没改动,退出不保存,若改动,退出并保存
:w filename 文件另存为filename
:r filename 读入另一个文件内容,并追加在光标下一行
:n1,n2 w filename n1,到n2 行保存到另一个文件
:! command 执行命令, 如 “:! ls -l” 列出当前目录文件

下面这篇vim语讲的好形象,推荐阅读。
http://www.jianshu.com/p/a361ce8c97bc#rd?sukey=fc78a68049a14bb23fe32c0df282f31736d7a0bae06c52ee32d3e10e74afb8e4a7ee7b7b416ed67b2d30df151dc90a05

大概介绍如下:
动词
d 表示删除(delete)
r 表示替换(replace)
c 表示修改(change)
y 表示复制(yank)
v 表示选取(visual select)

名语
w 表示一个单词(word)
s 表示一个句子(sentence)
p 表示一个段落(paragraph)
t 表示一个html标签(tag)

介词
i 表示“在…之内” (inside)
a 表示”环绕…”(around)
t 表示”到…位置前”(to)
f表示”到…位置上” (forward)

组词有名有:
1、动词 介词 名词

dip(delete inside paragraph 删除一个段落)
vis (visual select inside sentence 选择一个句子)
2、动词 介词/数词 名词

d2w (delete 2 word 删除两个单词)

3、数词 动词 名词

3dw ( 3 delete word 3次删除单词=删除3个单词)

【经验篇】
1、复制粘贴防止 自动缩进
方法有2
a、set fo-=r set noautoindent
粘贴完后,记得恢复
set fo=r set autoindent
b、set paste 完后,恢复用 set nopaste
http://www.cnblogs.com/end/archive/2012/06/01/2531147.html
可以备份下自己常用的配置。把习惯带着走。