vim基本命令及常用技巧
1. vim的三种模式
命令模式:可以移动光标,或进行删除,复制,粘贴等操作 可以通过“v”进入visual模式,对文本内容进行选择插入模式:输入内容底行模式:在命令模式下用 “:”激活,比如保存退出 “:wq”2. vim常用命令(命令模式)
移动光标:
上下左右: k j h l 首行: gg 末尾:shift+g 指定行号: :n 行首: ^ 行尾:$插入: i(光标当前位置) a(光标后一个字符位置) o(光标下一行起始,将另起一行)
I(所在行的行首) A(所在行的行尾) O(光标上一行起始,将另起一行)删除:删除单个字符:x (这里其实是剪切)
删除单行:dd (同上) 删除n行: ndd (n为删除的行数) 在一行之中删除部分字符: d + ^或者$,分别是删除当前字符(包括)到行首或行尾的所有 同理,删除当前行(包括)到首行或末尾: d + gg或d + G(shift+g)撤销操作: u 是撤销前一次操作 Ctrl + r 是恢复前一次撤销,也就是重做复制:复制的基本操作通删除 yy复制单行... yw可以复制单个单词粘贴:剪切(d)和复制后(y)均可以使用粘贴(p)将刚才复制或剪切的内容粘贴出来选择内容:
在正常模式下按v,进入visual模式,可以通过移动光标选择内容 选好后可以通过d或y进行剪切或复制,p粘贴 这里可以通过 "1v 选择粘贴板,但我没怎么用过查看当前文件: Ctrl+g 可以查看当前文件名3. vim的底行模式保存: :w退出: :q保存退出: :wq不保存退出: :q!查找: / 向下查找 ? 向上查找 (可以查找字符串)
在当前窗口打开一个新文件,进入多窗口模式:
:vsp filename (可以通过tab补全)(水平方向添加窗口) :sp filename (竖直方向添加窗口)在上述多窗口模式下,保存退出可以选择当前窗口进行,也可以通过在命令后追加a对所有窗口进行操作
例如: :wqa 将保存退出所有窗口4. 打开多个文件 vim -O file1 file2 进入水平方向的多窗口模式 vim -o file1 file2 进入竖直方向的多窗口模式5. 辅助查看代码 cscope 安装cscope: apt-get install cscope 使用:(1)在源代码根目录输入 cscope -Rbq 对代码中的内容打标签 (2)完毕后可以随便进入其中一个文档,输入: :cs a cscope.out 这个cscope.out将存在与你执行cscope -Rbq时的目录中,一般都选在源码根目录 :cs f g function(or var) 查找指定函数或者变量的定义位置 :cs f c function 查找指定函数或变量被调用的位置(很实用,据说ctag也能做到,我没会设置,也懒的搞了) :cs f s function 查找指定函数或变量所有出现的地方(在没用明确函数调用的时候使用) :cs f t: string 查找指定字符串出现的位置 a=add f=find cs=cscope cscope_map.vim 里面有些映射,有兴趣可以尝试