-
:set paste? (加个?, 输入命令后会显示设置情况)
-
:scriptnames 查看vim使用了哪些配置文件
-
$ vimtutor 打开vim教程
-
U 大写U。行撤销命令,撤销所有在最近编辑的行上的操作
-
ZZ 保存并推出
-
w 移到下一个单词的词首
-
b 移到上一个单词的词首
-
e 移到下一个单词的词末
-
ge 移到上一个单词的词末
-
fa 移到本行的下一个字符a
-
Fa 移到本行的上一个字符a
-
ta 移到本行的下一个字符a的前一个字符
-
Ta 移到本行的上一个字符a的前一个字符
-
% 移到括号匹配
-
20% 移到文件的20%处
-
H 移到屏幕首
-
M 移到屏幕中
-
L 移到屏幕末
-
CTRL-G 显示当前行的信息
-
CTRL-U 向下滚动半屏幕
-
CTRL-D 向上滚动半屏幕
-
CRTL-E 向上滚一行
-
CRTL-Y 向下滚一行
-
zt 把光标所在行移动到屏幕的顶部
-
zb 把光标所在行移动到屏幕的底部
-
在一个文本中查找一个单词时,可以将光标移到哪个单词上,然后使用"*" 或"#"省略输入单词对这个单词 进行查找
-
set ignorecase 忽略大小写查找
-
set noignorecase
-
set hlsearch 高显亮所有匹配的地方
-
set incsearch 设置在查找的时候高显亮匹配点
-
set nowrapscan 设置查找到文件末尾就停止查找
-
m[a-z] 设置标签
-
'[a-z] 跳转到标签[a-z]处
-
dw 删除一个单词
-
x 表示dl 删除光标下的字符
-
X 表示dh 删除光标左边的字符
-
D 表示d$ 删除到行尾
-
C 表示c$ 改变到行尾
-
s 表示cl 修改一个字符
-
S 表示cc 修改一行
-
删除一个括号内的所有内容: 可以先用f(将光标移到(, 再用df)删除到)
-
. 重复一个修改命令
-
xp 交换连个字符
-
daw 删除一个单词
-
~ 修改光标下字符的大小写, 也可以改变可视模式下选中的所有字符
-
I 移动到当前行的第一个分空字符并启动插入模式
-
A 移动到行尾并启动插入模式
-
/usr/share/vim/vim73/vimrc_example.vim vimrc的模板文件
-
映射F5的功能:为一个单词添加{} map <F5> i{<Esc>ea}<Esc>
-
选项窗口
如果要找一个选项,你可以在这里寻找帮助: |options|。另一个方法是用如下命令:
:options
这会打开一个新窗口,其中给出一个选项的列表,并对每个选项提供一行解释。这些选项 根据种类分组。将光标移到一个主题上然后按 就可以跳转到那里。再按一下 <Enter> 或者 CTRL-O 就可以跳回来。
你可以通过这个窗口改变一个选项的值。例如,移到 "displaying text" 主题。然后把 光标下移到这一行: set wrap
nowrap
当你在上面键入回车,这行会改变为:
set nowrap
wrap
现在,这个选项被关闭了。
这行的上方是对这个选项的简要描述。将光标向上移动一行,然后按 <Enter>,你可以跳 转到 ’wrap’ 的完整帮助,再用 CTRL-O 可以跳回来。
对于那些值为数值或者字符串的选项,你可以编辑它的值,然后按 <Enter> 来启用该 值。例如,把光标移动到下面这行:
set so=0
用 $ 移到行尾,再用 "r5" 命令修改为五,然后按 使修改生效。现在如果你移 动一下光标,你会发现在你的光标移到窗口边界前,你的文字就开始滚动了。这就是选项 -
’scrolloff’ 完成的功能: 它指定在距离边界多远的地方开始滚动文字。
-
如果你搞乱了一个选项,你可以通过在选项后加上一个 & 号把它恢复到默认值。例如:
:set iskeyword& -
set filetype 可以查看当前文件类型
-
set fileyype=xxx 指定文件类型,多用于当vim没有能识别出文件类型时,又想获得文件高显亮时使用, 手动指定文件类型
-
Vim 自动猜测你使用的背景色。如果是黑的 (或者其它深色的色彩),它会用浅 色作为前景色。如果是白的 (或者其它浅色),它会使用深色作为前景色。如果 Vim 猜错了,文字就很难认了。要解决这个问题,设置一下 ’background’ 选 项。对于深色:
:set background=dark
而对于浅色:
:set background=light 这两个命令必须在 ":syntax enable" 命令前调用,否则不起作用。如果要在这 之后设置背景,可以再调用一下 ":syntax reset" 使得 Vim 重新进行缺省颜色 的设置。 -
"[a-z]y 将内容复制到[a-z]寄存器
-
"[a-z]p 将内容从[a-z]寄存器取出
-
:saveas 另存为
-
:file filename 对文件重命名
-
:split 把屏幕分解成两个窗口并把光标置于上面的窗口中
-
CTRL-W w 在窗口之间跳转
-
:close 关闭窗口
-
:only 关闭其他所有窗口
-
:split file 打开一个窗口并编辑另一个指定的文件
-
:new 打开窗口编辑一个新文件
-
:3split 打开一个3行的窗口
-
CTRL-W + 增大窗口大小
-
CTRL-W - 减小窗口大小
-
{height}CTRL-w _ 把窗口调整到指定高度
-
:vsplit 竖直建立窗口
-
由于你可以用垂直分割和水平分割命令打开任意多的窗口,你就几乎能够任意设置窗口的 布局。接着,你可以用下面的命令在窗口之间跳转:
-
CTRL-W h 跳转到左边的窗口
-
CTRL-W j 跳转到下面的窗口
-
CTRL-W k 跳转到上面的窗口
-
CTRL-W l 跳转到右边的窗口
-
CTRL-W t 跳转到最顶上的窗口
-
CTRL-W b 跳转到最底下的窗口
-
移动窗口
-
CTRL-W H 把当前窗口移到最左边
-
CTRL-W J 把当前窗口移到最下边
-
CTRL-W K 把当前窗口移到最上边
-
CTRL-W L 把当前窗口移到最右边
-
:vertical diffsplit filename 以diff的方式打开另一个文件
-
在使用vimdiff比较文件差异时
zo 打开折叠
zc 关闭折叠 -
:set noscrollbind 关闭两个文件一起滚动的特性
-
:diffupdate 你可以把文本从一个窗口移到另一个,并以此来消除差异,或者为其中一个文件中增加几 行。Vim 有时可能无法及时更新高亮显示。要修正这种问题,就可以使用diffupdate
-
:tabonly 关闭其他tab
-
vim -g file.txt 以GUI方式打开vim
在ubuntu下默认安装的vim是basic版本,没有上述功能,需要安装
$ sudo apt-get install vim-gnome 来安装 并且使用vim gnome版本可以使用系统的剪贴板 -
:reg 查看当前所有寄存器的内容
-
“+p 将内容复制到系统剪贴板
-
”+y 将系统剪贴办内容粘贴到vim
-
gJ 合并下一行的时候不添加空格
-
命令 "!{motion}{program}" 用一个外部程序对一个文本块进行过滤。换句话说,它
-
用一个文本块作为输入,执行一个由 {program} 指定的外部命令,然后用该程序的输出
-
替代选中的文本块。
-
!date 用 "date" 的输出代替当前行。这在为文件加入时间戳
-
:read !ls 读入命令的执行结果到文件
-
:write !wc 要统计当前文件有多少个单词
输出将是: 4 47 249 这表示你有 4 行,47 个单词和 249 个字符。 -
替换命令可以在全文中用一个单词替换另一个单词:
:%s/four/4/g
"%" 范围前缀表示在所有行中执行替换。最后的 "g" 标记表示替换行中的所有匹配点。 如果你有一个象 "thirtyfour" 这样的单词,上面的命令会出错。这种情况下,这 个单词会被替换成 "thirty4"。要解决这个问题,用 "<" 来指定匹配单词开头:
:%s/<four/4/g
显然,这样在处理 "fourteen" 的时候还是会出错。用 ">" 来解决这个问题:
:%s/<four>/4/g
如果你在编码,你可能只想替换注释中的 "four",而保留代码中的。由于这很难指定, 可以在替换命令中加一个 "c" 标记,这样,Vim 会在每次替换前提示你:
:%s/<four>/4/gc