----命令行-----
打开新的tab
:tabnew d:\$PATH\file
在当前编译窗口打开文件
:e d:\$PATH\file
:%s/为./&\r/gc
% 全文,否则为当前行
s 替换 s/a/b为把a替换为b
& 被替换的内容
\r 回车
/gc 一直替换(不是仅替换第一个),并且要用户确认。
支持正则表达式
为. 以为开头的两个字符
s. 以s开头的两个字符
注:
/g 一直替换下去,不加的话,替换当前行第一个。
% 全文的每行第一个。
%/g 全文的所有。
----操作----
移动行尾
$
移动行首
^
移动文件首
gg
移动到文件的n行
ngg或nG
:n
移动文件尾
G
移动到屏幕的最上行
H(Highest)
移动到屏幕的n行
nH
向后移动一个单词
w
向前移动一个单词
b
注:中文就是一行
移动多个单位
nh 左移n个
nl 右移n个
nj 下移n个
nk 下移n个
nw 后移n个单词
nb 前移n个单词
列操作
按ctrl+q(也就是windows下,而Linux的xbeta下使用ctrl+v)
15jx
15j表示以下15列,x表示删除,d也可以
注:d表示剪切,y是复制,p是粘贴
复制
yy 复制当前行
yw 复制当前单词(含后面的空格)
ye 复制当前单词(不含后面空格)
yW 复制当到第一个空格处内容(含后面空格)
yE 复制当到第一个空格处内容(不含后面空格)
y 与 w 的区别在于有无空格
y1 复制当前光标处的一个字符
命令行模式下输入
:5,10 co 12 /* 将第5行至第10行复制到第12行 */
/* 任意连续多行复制到某处 */
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c
把 co 改成 m 就成剪切了
复制剪切板中的内容
"*p
复制到剪切板中
"*yy
粘贴
p 粘贴在当前光标之后
P 粘贴在当前光标之前
大小写转换
guu 当前行小写
gUU 当前行大写
g~~ 当前行大小写翻转
g??
删除n个字符
nx
删除行
dd 删除1行
3dd 删除3行 或是d3d
:20,23 de 删除20到23行的所有内容
[number] d object 或 d [number] object
dG 删除当前行以下的所有内容
d$ 删除当前光标到行尾
dw 删除当前单词(包含空格)
de 删除当前单词(不包含空格)
D删除右侧内容
df> 删除到>处的内容
重复修改操作
.
重复做出所做的修改
可视行,多行选择
V
进入Visual模式
o选择另一端,对角线
O到选择的轴对称面
[number] c object 或 c [number] object
cG 替换当前行以下的所有内容
c$ 替换当前光标到行尾
cw 替换当前单词(包含空格)
ce 删除当前单词(不包含空格)
删除{}等括号里的行
:di{
:diB
重做操作
ctrl+r
撤销
u
移动一个tab
shift+>>
移动到当前行首
0
移动屏幕
ctrl+e向上滚动
当前行移动屏幕中间
zz
跳转到前一处
``
跳转到更早之前的位置
ctrl+o(older)
ctrl+i(i在o之前) = <Tab>键
标记
a~z
ma 标记a
跳转到标记
`a 跳到mark a 所在处
'a 路到mark a 所在行行首
列出所有mark
:marks
录制名为a的宏操作
qa <操作...> q
执行时,可以使用
n@a
n:数字,次数,@表示执行,a为宏名
若想执行最新定义的宏一次,也可以
@@或@a
当前行下插入空白行,并进入插入模式
o
当前行下插入空白行,并进入插入模式
O
不同tab间切换
gt
----- 编程 ------
查看函数的man
K
在Vim中编译
:make /* 相当于:!make */
打开查看窗口
:copen
在Vim中grep
:grep keyword *.c
打开查看窗口
:copen
--- 折叠 ---
zo (open) 打开光标所在处的折叠
zc (close) 关闭光标所在处的折叠
zr (reduce)打开所有折叠
zm (more)关闭所胡折叠
zR 打开所有折叠,包括子折叠
zM 关闭所有折叠,包括子折叠
zi 所有折叠状态切换
zn (none) 打開全文的所有折叠
zN 关闭所有的折叠
zr 作用于foldlevel,有层次的概念,而zn作用于foldenable,使能的概念
--- 多窗口操作 ---
Ctrl-w + n split一个新的窗口(水平)
:vs split一个新的窗口(水平)
Ctrl-w + s 打开一个与当前窗口一样的新窗口(水平)
Ctrl-w + v 打开一个与当前窗口一样的新窗口(垂直)
Ctrl-w + q 退出当前窗口,如果为最后一个窗口,则退出vim
Ctrl-w + c 关闭当前窗口
Ctrl-w + H 把当前窗口左移
Ctrl-w + J 把当前窗口下移
==
自动调整当前行的格式,对齐
n==
多行调整
--- help ---
显示函数列表
:help function-list
然后可以使用K,进入函数详细说明
--- tips ---
reload vimrc
:source $MYVIMRC
:e $MYVIMRC
" source $MYVIMRC reloads the saved $MYVIMRC :nmap <Leader>s :source $MYVIMRC " opens $MYVIMRC for editing, or use :tabedit $MYVIMRC :nmap <Leader>v :e $MYVIMRC
When you define functions in vimrc, use "function!". Some other commands should also have "!" appended, which means to overwrite the existing command.
命令行时,<C-F>
显示最近的command line
http://vim.wikia.com/wiki/Best_Vim_Tips