Linux-vim常用命令

来源:互联网 发布:sqlserver 别名 编辑:程序博客网 时间:2024/04/29 09:40

                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

0 0
原创粉丝点击