12.3 vim 操作

122 阅读2分钟
## 跳转操作

行首: shift + 6 = ^

行尾:shift + 4 = $

章首:gg

章尾:G

页首:shift + H

页中:shift + M

页尾:shift + L

## 文本操作

选中/取消 一行:shift + v

选中目标:按一下 v,然后左右移动光标

复制一行:yy

粘贴:p

撤销操作:u

撤销撤销:ctrl + R 

删除一行:dd

删除光标字符:x

## 查找操作

查找:/{word}

向上匹配:N

向下匹配:n

------------------------------------------------------
常规操作
**vim + cscope + ctags**

## 基础

ctags -R  产生标记文件以帮助在源文件中定位对象。

Ctrl + ] -- 进入函数的实现

Ctrl + o

Tab键回到“Ctrl + o”上一个光标处;

## 详细

1、z+shift+o 可以打开所有的"+"部分的代码;

2、Ctrl + ] -- 进入函数的实现;Ctrl + o -- 反回上一个光标位置;

3、连续多次“Ctrl + o”操作后,可以通过Tab键回到“Ctrl + o”上一个光标处;

4、“Shift + *” 可以高亮光标处的字符串,并可以通过" n "跳到下一个高亮处,或"N"跳到上一个高亮处。

5、命令模式下":cs f t "find_text_name" 在vim中查找某一个函数或者变量引用的地方。" :cs "可以查看用法。

6、临时保存修改不退出" :w ";

7、" :set tags=/PATH/TO/tags"  当在跳转时,跳转不成功时,且知道接口实现的代码仓库的话,可以动态设置tags文件,设定当前vim需要使用的"tags"文件。

8、":sp"  实现当前vim分上下屏操作,可以通过"Ctrl + j"和"Ctrl + k"实现上下窗口切换操作。

9、"e: /woke/code/xxx.c" 可以打开一个新的文件。8和9可以组合用于对比或合并修改。因为两个vim终端间拷贝文件的操作是不方便的。

10、拆分中断下的窗口的命令:tmux 上面窗口用于代码修改下面窗口用于修改后的编译,还是挺方便的。具体请百度get到。

11、单个文件对比或合并差异的工具:vimdiff (vimdiff ../display.c ./display.c):

dp 将当前窗口光标位置处的内容复制到另一窗口

do 将另一窗口光标位置处的内容复制到当前窗口

12、两个文件夹的差异对比或合并:meld directory1 directory2