首页 > 代码库 > Linux-vim常用命令
Linux-vim常用命令
vim常用命令
"""""""""""""""""""""""""""""""""general cmd""""""""""""""""""""""""""""""""""""
h 左移一位
l 右移一位
k 上移一位
j 下移一位
0 光标到当前行开头
$ 光标到当前行末尾
^ 光标移动到当前行的第一个非空格/制表符的字符上
w 光标移动到下一个单词的词首
e 光标移动到下一个单词的词尾
b 光标移动到上一个单词的词首
""""""""copy"""""""""""""
yy or Y 复制光标所在整行
y^ 复制到光标所在行行首,不包括光标位置字符
y$ 复制到光标所在行行尾,包括光标位置字符
yG 复制到文件尾
y1G 复制到文件首
nyy 复制光标所在行开始的n行
"""""""Paste"""""""""""""""
p (小写)paste到光标后
P (大写)paste到光标前
"""""""Delete"""""""""""""""""
x (小写)delete光标前一个字符
X (大写)delete光标后一个字符
dd 删除光标所在整行
dw 删除光标所在处一个单词
dG 删除光标所在行到文件尾
dgg 删除光标所在行到文件首
D 删除到行尾,包括光标处字符
d0 删除到行首,不包括光标处字符
""""""""undo""""""""
u 保存前撤销
ctrl+r redo重做
"""""""find"""""""""""
/string 相当于find,从光标处开始向下开始查找字符串string n查找下一个 N 查找上一个
?string 从光标处向上开始查找 n 查找上一个 N 查找下一个
"""""""Mapping"""""""""
nmap:映射一个Normal模式下的键,只有在Normal模式这个命令才会生效。
例:nmap ,s :source $VIM/_vimrc<cr>
说明:绑定“,s”在Normal模式下映射为“:source $VIM/_vimrc<cr>”命令,即重新读取配置
文件_vimrc 。
:
imap:映射一个Insert 模式下的键,只有在Insert 模式这个命令才会生效。
例:imap <F11> :r c:\boot.ini<cr>
说明:绑定F11在Insert 模式下的映射为“:r c:\boot.ini<cr>”命令,即读取c:\boot.ini文件到当前位置。
vmap:映射一个Visual模式下的键,只有在Visual模式这个命令才会生效。
例:vmap sb "zbi<b><c-r>z</b><ESC>
说明:选中文字后按sb,选中文字的前后将分别加上<b>和</b>。
再例:vmap g/ y/<c-r>"<cr>
说明:映射“g/”这个组合键匹配选中的字并给予高亮显示。
map:用map绑定的键对Normal, Insert, Visual和Command-line模式均有效。
例:map <F5> :ls<cr>:e #
说明:映射F5键,使得按下F5会显示当前可编辑文件的buffer,然后提示你输入buffer的行号。
详细参考http://blog.csdn.net/linux_kernel_fan/article/details/18894253
"""""""""""""""""""""""""""Window Cmd""""""""""""""""""""""""""""""""""""""""""
""""Switch in the window""""
ctrl+w+w 依次在多窗口切换
ctrl+w+h 切换到左边窗口
ctrl+w+l 切换到右边窗口
ctrl+w+k 同理
ctrl+w+j 同理
""""Change the size of window"""""
:res[ize] +n 使得当前窗口增加n行
:res[ize] -n 同上相反
:vertical res[ize] +n 增加n列的宽度
:vertical res[ize] -n 同上相反
ctrl+w+= 使所有窗口等宽、等高
n+ctrl+w+ + 增加n行高度
n+ctrl+w+ - 同上相反
n+ctrl+w+> 增加n列宽度
n+ctrl+w+< 同上相反
"""""""""""Miscellaneous""""""""""""""""""
CTRL-R
"""""""""""""""""""""""""""tag cmd"""""""""""""""""""""""""""""""""""""""""
< CR> 跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
<space> 显示光标下tag的原型定义
o 在一个新打开的窗口中显示光标下tag
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
% 跳转到匹配的括号去
//有时候不明白是怎么匹配{}的
[[ 跳到上一个代码块(‘{‘必须独占一行)
]] 跳到下一个代码块
gD 跳转到局部变量定义处
‘‘ 跳转到光标上次停靠的地方,是两个‘‘,不是一个"
mx 设置书签,x是a-z的26字母
`x 跳转到书签处("`"是1左边键)
///进入v模式,才可以多行缩进
> 增加缩进,"x>"表示增加当前行以下x行的缩进
< 跟上面相反
ctrl+] 跳转到光标所行的标签处
ctrl+t 跳回上一个标签
ctrl+o 返回上一个标签
ctrl+w+] 新窗口显示当前光标下标签,光标跳到标签处 (:close可以关闭新窗口)
:tag tagname 将当前窗口文件替换为包含标签的文件
:stag tagname 分割当前窗口并光标跳到标签处(:split and :tag tagname )
:tnext 跳转到同一个标签的其他匹配处
:tselect tagname 显示tgname一个列表,然后以输入匹配号,跳到指定的tagname标签处
:tfirst 跳到第一个匹配的标签
:[count]tprevious 向前[count]个匹配的标签处
:[count]tnext 向后[count]个匹配的标签处
:tlast 匹配最后一个标签
:tag write_<TAB> 自动补全剩余部分
:tag /block 标签名前面的"/"告诉vim这不是一个确定的标签名而是一个模式,然后找到所有
匹配block标签
:ptag tagname 打开预览窗口显示tagname标签
:pclose 关闭预览窗口
:pedit filename 在预览窗口编辑指定文件
:psearch word 查找当前文件和任何包含word的文件,并在预览窗口显示匹配的word(很少用,
并且很容易搜索到注释里面的word)
""""""""""""""""""""""""""""""""""cscope Cmd"""""""""""""""""""""""""""""""""""""
1. cscope cmd parameters
-R: 在生成索引文件时,搜索子目录树中的代码
-b: 只生成索引文件,不进入cscope的界面
-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
-k: 在生成索引文件时,不搜索/usr/include目录
-i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列
表。可以使用"-",表示由标准输入获得文件列表。
-I dir: 在-I选项指出的目录中查找头文件
-u: 扫描所有文件,重新生成交叉索引文件
-C: 在搜索时忽略大小写
-P path: 在以相对路径表示的文件前加上的path,这样,你不用切换到你数据库文件所在的目录也可以使用它了。
2. :cscope find cmd params
s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
d: 查找本函数调用的函数
c: 查找调用本函数的函数
t: 查找指定的字符串
e: 查找egrep模式,相当于egrep功能,但查找速度快多了
f: 查找并打开文件,类似vim的find功能
i: 查找包含本文件的文A件
"""""""""""""""""""""""""""""bufexplorer Cmd"""""""""""""""""""""""""""""""""""
""""""""""""""""""""""""""""""""""""omnicppcomplete Cmd""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""c.vim plugin Cmd"""""""""""""""""""""""""""""""
vim配置后续再说,敬请期待
by 吴尚奇 2014/05