1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ;
do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL"

Alive

1
2
3
4
5
6
7
8
I: Insert Mode
Esc: Nomal Mode
Q : Quite With Out Save.
WQ : Write And Quite
HJKL: Left Down Up Right.
X: Cut Character
DD: Delete Line
P: Pesta Character

Felling Better

1
2
3
4
5
6
7
8
9
10
11
12
a: 在光标后插入
o: 在当前行后插入一个新行
O: 在当前行前插入一个新行
cw: 删除从光标所在位置后到一个单词结尾的字符 c2w, c3w.
Moving
0 / ^ 光标移动到行首(不是blank的位置)
$ / g_ 光标移动到行尾(不是blank的位置)
/pattern 定位到pattern的区域
Pesta
p: pesta
u : undo
ctrl+r : redo

Better,Faster,Stronger

1
2
3
4
5
6
7
8
9
10
11
2d : delete two lines.
100idesu[Esc]: insert 100 times desu.
4p : pesta 4 times.
% : swap {}
#/* : 向上/下搜索当前光标所在的单词

0y$ :移动到行首,开始copy,一直到本行最后一个字符。
d: delete and copy
v: select and copy
gU: 变大写 and copy
gu: 变小写 And copy

块操作

1
2
3
4
^ -> 到开头
Ctrl-v -> 开始块操作
Ctrl-d -> 向下移动
I– [Esc]-> 插入–

vim超能力

1
2
3
4
5
6
7
8
9
在当前行移动光标:
0: 到行首
^: 到本行的第一个非blank字符
$: 到行尾
g_:到本行最后一个非blank字符
fa:到下一个为a的字符处, fs到下一个为s的字符处
t,;到逗号前的第一个字符,ta到a前的第一个字符
3fa:当前行查找第三个出现的a
dt,:删除多有的内容,一直到逗号出现。

区域选择

1
2
3
4
5
6
7
8
9
10
a 和 i
action 可以是任何命令,d:delete, y:copy, v:view mode
object 可以是:w:word, s:statement, p:paragraph,也可以是特殊的字符。
例如字符串:(map (+) ("foo")),光标在o上。
vi” : foo
va” : “foo”
vi) : “foo”
va) : (“foo”)
v2i): map (+) (“foo”)
v2a): (map (+) (“foo”))

可视化选择

1
2
3
4
5
######缩进######
使用v/V进入可视化模式
J : 把所有的行链接起来变成一行
</>:左右缩进
= :自动缩进
1
2
3
4
5
######行后追加######
ctrl+v : 进入可视化编辑模式
选中相应的行(j或者ctrl+d 或者/pattern 或者%)
$到行最后
A(append,在行尾追加), 输入字符串, 按ESC