vim常用命令

2008年9月10日 | 分类: Linux应用 | 标签: ,

u           撤销上一次的操作,Undo
U           撤销对当前行的所有修改
CTRL-R      Redo

qa          开始录制宏, 保存在寄存器a中, 再按一次q结束录制
@a          播放寄存器a中的宏
@@          重复播放上一个宏
99@a        播放寄存器a中的宏, 重复99次

=a{         缩排当前语句块
gg=G        缩排当前文件

CTRL-]      跳转
CTRL-T      跳转返回
CTRL-O      跳转返回起点

gd          局部变量(符号)定义处
gD          全局变量(符号)定义处
gf          调入光标处的文件

/string     向后搜索字符串
?string     向前搜索字符串
n           重复上一次搜索
N           反向重复上一次搜索
:nohlsearch 取消加亮, 缩写:nohl

hjkl        光标移动

^F / PgDn   向后翻页
^B / PgUp   向前翻页

^           当前行首
$           当前行尾

0           移动到行首
H           移动到屏幕上第一个可见行
L           移动到屏幕上末一个可见行
M           移动到屏幕中间的行

+ / <cr>    移动到下一行首的非空字符
-           移动到上一行

{           上一个空行
}           下一个空行

J           连接两行,下一行上提

ma          标记当前行位置, 记录在寄存器a中
`a          返回寄存器a所标记的行(书签)

.           重复上一个命令

23G         定位到23行
G           文件尾

%           括号配对

fx          在当前行向后查找下一个字符
Fx          在当前行向前查找下一个字符
;           重复前一个 f 或 F 命令.

:s/from/to/ 查找和替换
:s/from/to/g 查找和替换
:%s/from/to/g 查找和替换

:map <F2> dd 定义F2的功能

i           进入插入模式,在当前字符前插入
a           在当前字符后开始插入
A           在行尾插入
o           在当前行后插入一行,并进入插入模式
O           在当前行前插入一行,并进入插入模式

:w [name]   保存到文件
:q          退出
:q!         放弃保存退出
:wq [name] 保存并退出
:e name     编辑新文件
:r name     把一个文件读入到当前中间中
:e! name    放弃修改,编辑新文件

rx          将当前光标处的字符替换成字符x

x / Delete 删除光标处的字符

dw          删除一个词
dd          删除一行
3dd         删除三行
D           删除到行尾
d$          删除到行尾
dG          删除到文件尾
dgg         删除到文件头

yy          复制当前行到内部寄存器
Y           复制到行尾
yw          复制一个词
y2w         复制两个词
ye          复制一个词
y$          复制到行尾
p           粘贴内部寄存器内容到当前行
“*yy        复制当前行到系统剪贴板
“*p         粘贴系统剪贴板到当前行

~           改变当前光标下字符的大小写
*           搜索当前光标下的单词

:set tabstop=4
:set shiftwidth=4
:set cindent
:set foldmethod=indent
:set foldcolumn=4
:set foldlevel=3

zf          创建折叠块
zo          打开折叠块, zO
zc          关闭折叠块, zC
zr          打开多层折叠块
zm          关闭多层折叠块
zR          打开全部折叠块
zM          关闭全部折叠块
zd          删除
zD
zn          禁用折叠块
zN          启用折叠块
zi          在zn 和 zN之间来回切换

:set nowrap
:set lines=50
:set columns=88
:winpos 290 3

:map <F8> =a{
:map <C-F8> gg=G

:set nobackup 不产生备份文件
:set expandtab 制表符换成空格

:echo 10 + 5 * 2

:set path+=/usr/*/include 指定头文件检索目录
[I          标识符检索
[D          检索#define定义的符号

>>          增加缩进
<<          减少缩进
>a{         整块增加缩进, 包括{和}
>af         整块增加缩进

cw          删除当前词,并进入编辑状态
ce          删除当前词,并进入编辑状态
cc          擦掉当前行,并进入编辑状态
c$          擦除到行尾,并进入编辑状态

xp          交换两个字符的位置

=a{         重新格式化当前块(C语言)
gg=G        重新格式化当前文件(不太好用,有些情况不能处理)
qa          开始录制宏,记录在变量a中,共有26个变量,按q停止录制
@a          播放宏
CTRL+]      跳转到当前光标所在单词对应的主题
CTRL+T      回到前一个位置
CTRL+O      回到前一个位置
dw          删除一个词
dd          删除一行
3dd         删除三行
/string     字符串搜索
?string<cr> 同 “/”, 向前查找
n           重复上一个 “/” 或 “?” 命令
^F or PgDn 向后翻页
^B or PgUp 向前翻页
$           光标移动到当前行尾
nG          移动光标到第n行
%           括号配对
x or Delete 删除一个字符
G           光标移动到文件最后一行
i           进入插入模式,在当前字符前插入
a           在当前字符后开始插入
A           在行尾插入
o           在当前行后插入一行,并进入插入模式
O           在当前行前插入一行,并进入插入模式
fx          在当前行向后查找下一个字符
Fx          在当前行向前查找下一个字符
;           重复前一个 f 或 F 命令.
+ or <cr>   移动到下一行首的非空字符
-           移动到上一行
0           移动到行首
H           移动到屏幕上第一个可见行
L           移动到屏幕上末一个可见行
M           移动到屏幕中间的行
J           连接两行,下一行上提
rx          将当前光标处的字符替换成字符 x.
.           重复前一个命令
‘x          光标移动到标记x处
mx          在当前行做个标记,x可以是任何小写字母
/string     搜索
?string     反向搜索
n           重复上次搜索
N           重复上次搜索,反方向
:w [name]   保存到文件
:q          退出
:q!         放弃保存退出
:wq [name] 保存并退出
:e name     编辑新文件
:r name     把一个文件读入到当前中间中
:e! name    放弃修改,编辑新文件

anyShare分享到:
          
  1. 2008年9月11日09:47

    恩,相当不错。

  2. 2008年9月11日00:09