Vim工具使用总结

vim 基本使用

1、一般模式

通过 vim + 文件名,进入 vim 环境(test.txt 可以是当前目录已存在的文件,也可以是当前目录不存在的文件。):

bash 复制代码
vim text.txt
  • j 下移光标
  • k 上移光标
  • h 左移光标
  • l 右移光标

或者使用上下左右方向键控制移动光标

2、编辑模式

在一般模式下,通过输入a、i、o 可以进入编辑模式,在编辑模式下我们可以输入文本修改文本内容

a i o 的区别如下:

  • a:在当前光标下一位插入
  • i:当前光标处插入
  • o:换行并创建全新空白行,并在行首插入

在编辑模式下,我们点击 esc 键即可回到一般模式。

3、命令行模式

在一般模式下,输入分号,可以进入命令行模式。在命令行模式下可以通过输入不同指令或者字符串实现不同的功能,其中涉及常用的功能包括了两大类:

  • 退出 vim
  • 在当前文本中搜索字符串

进入命令行模式后,可以通过以下三种方式退出 vim:

  • 在当前文本下输入 q 指令,退出 vim,适用于当前文本文件无修改
  • 在当前文本输入 q! 指令,退出 vim,适用于当前文本文件有修改,并放弃当前修改内容
  • 在当前文本输入 wq 指令,退出 vim,适用于当前文本文件有修改,并要保存当前修改内容

进入命令行模式后,可以输入 / + 字符串,点击回车键,进入搜索模式,点击 N 键,光标就会在匹配的文本依次跳动。

在一般模式下,也可以通过输入 / + 字符串进行搜索。

4、ctags + vim 进行源码阅读

在阅读Android源码时,由于源码工程量庞大,借助 VS Code 或者 Android Studio导入源码阅读,会索引很长时间,这个时候就可以通过 vim 来阅读源码。

  1. 首先在 Ubuntu 下需要下载 ctags

    bash 复制代码
    sudo apt-get install ctags
  • 在要阅读的源码根目录下生成 tag 索引

    arduino 复制代码
    // 比如在 aosp/frameworks/下
    
    ctags -R
  • 通过 vim + 源码文件 打开源码

    bash 复制代码
     vim ./base/services/core/java/com/android/server/pm/PackageManagerService.java
  • 当光标落在要跳转的类名上,可以通过 ctrl + ] 进行跳转
  • ctrl + t 返回上一级
  • 搜索类文件:ctrl + f 进入搜索指令行,输入对应的类文件名
  • 通过shift + : + bp 返回上一级
  • 通过shift + : + bn 返回下一级
  • 通过F9按键 打开和关闭 当前工程目录
相关推荐
xyz5999 分钟前
如何在 WSL 中删除指定版本的 Ubuntu 以及安装
linux·运维·ubuntu
亚空间仓鼠37 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
minji...2 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
虚伪的空想家2 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
the sun342 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
草莓熊Lotso2 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ShineWinsu2 小时前
对于Linux:文件操作以及文件IO的解析
linux·c++·面试·笔试·io·shell·文件操作
-SGlow-2 小时前
Linux相关概念和易错知识点(52)(基于System V的信号量和消息队列)
linux·运维·服务器
江畔何人初2 小时前
TCP的三次握手与四次挥手
linux·服务器·网络·网络协议·tcp/ip
Trouvaille ~2 小时前
【MySQL篇】数据库操作:从创建到管理
linux·数据库·mysql·oracle·xshell·ddl