一个简短的对象列表∶
w - 从当前光标当前位置直到单字/单词末尾,包括空格。
e - 从当前光标当前位置直到单字/单词末尾,但是 *不* 包括空格。
$ - 从当前光标当前位置直到当前行末。
注意尝试命令大小写的不同效果
:help w <回车> :help c_<T <回车> :help insert-index <回车> :help user-manual <回车>
1.输入的 dw 时,未出现在屏幕的最后一行(屏幕右下角)。
:set showcmd
2.Vim 插件帮助文档(./vim/doc/) 在help命令下无法显示
:helptags ~/.vim/doc 生成帮助标签 (需先安装Ctags)
:help XXX.txt 查看帮助文档
3. c.vim && taglist配置步骤
配置 ~/.vimrc文件。
filetype plugin on //c.vim需要
let Tlist_Ctags_Cmd = '/usr/local/bin/ctags' “设置ctags命令目录
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1 “让taglist窗口在右侧显示
4. vim寄存器与复制粘贴的实现
无论是vim内部抑或外部的复制([y]ank)、删除([d]elete)、粘贴([p]ut),在vim中都是借助registers(寄存器)实现的,vim共有9类寄存器:
- 无名(unnamed)寄存器:
""
,缓存最后一次操作内容; - 数字(numbered)寄存器:
"0 - "9
,缓存最近操作内容,复制与删除有别; - 行内删除(small delete)寄存器:
"-
,缓存行内删除内容; - 具名(named)寄存器:
"a - "z
或"A - "Z
,指定时可用; - 只读(read-only)寄存器:
":, "., "%, "#
,分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名; - 表达式(expression)寄存器:
"=
,只读,用于执行表达式命令; - 选择及拖拽(selection and drop)寄存器:
"*, "+, "~
,存取GUI选择文本,可用于与外部应用交互,使用前提为系统剪切板(clipboard)可用; - 黑洞(black hole)寄存器:
"_
,不缓存操作内容(干净删除); - 模式寄存器(last search pattern):
"/
,缓存最近的搜索模式。
详细说明须参考手册 : help copy-move
查看寄存器内容 :reg
在命令模式下使用"*p
或者"+p
的命令将已经复制或剪切到系统剪切板的外部内容粘贴进来 使用类似"*y
或者"+y
的命令将vim中的内容复制到系统剪切板中。
在Ubuntu 10.04中 通过查看寄存器发现 "+p为乱码 所以请使用 "*p来粘帖
5.vim Cpp 文件署名
c.vim 提供了方便的署名方式
只要 vim XXX.cpp 就会自动在文件前部加一个署名
署名内容可以在 ~/.vim/c-support/templates/Templates 中修改
6.简体中文vimtutor
vimtutor默认使用繁体编码big5 但是后缀为zh.euc的文件编码为GBK
另一方面vimtutor脚本会优先使用utf-8编码的帮助
所以将zh.euc转换为zh.utf-8
sudo iconv -f gbk -t utf8 tutor.zh.euc -o tutor.zh.utf-8
7.查看命令历史
在normal模式下按q:,就会打开命令行历史窗口。
在这个窗口,你可以复制或者执行命令。要回到normal模式,输入:q
8.常用操作命令
你可以使用“dw”命令来删除一个单词,它是命令“d”+动作“w”。还可以加上数字,如“d4w”或者“4dw”来删除4个单词。
类似的常用命令有:
x 表示 dl (删除当前光标下的字符)
X 表示 dh (删除光标左边的字符)
D 表示 d$ (删除到行尾)
C 表示 c$ (修改到行尾)
s 表示 cl (修改一个字符)
S 表示 cc (修改一整行)
dfc --删除从当前光标位置到前向第一个字符c之间的所有字符,不能跨行删除
假设你在编辑一个HTML文件,你想删除所有的<B>标记。你把光标移到第一个“<”上,然后用df>”命令删除<B>
命令"." -- 执行最后一个修改命令
执行最后一个修改命令(在本例中,就是“df>”)。要删除下一个<B>标记,移动到下一个<的位置,再执行“.”命令即可
9. 使用记录命令
先移动到第一行,接着执行如下命令:
qa 启动记录,并使用寄存器a
^ 移到行首
i#include "<Esc> 在行首输入“#include "”
$ 移到行末
a"<Esc> 在行末加上双引号“"”
j 移到下一行
q 结束记录
最后可以通过输入 @a 进行重复命令
10.标记
Vim允许你在文本中做标记。命令
ma
会在光标所在处做一个名为a的标记。你最多可以在文本中做26个标记{a-zA-Z}。
:marks命令会列出所有标记的列表。
要移动到一个标记,用命令, 其中`是在键盘左上角数字一左边的那个键
`标记
要移动到一个标记所在行的行首,用命令, 其中‘是单引号
‘标记
标记在删除大量文件内容人时很有用。比如
在你想要删除的文本的开始处做标记ma
然后移动到想删除文本的末尾,用d`a删除从此位置到标记a间的内容。
注意,标记会跟着它所标记处的文本移动(比如在它之前插入或删除了东西)
11.重新打开当前文件
:e
重新打开当前文件
:e! 重新打开当前文件并忽略修改