博客
关于我
Linux自学之旅-vim编辑器(vim使用)
阅读量:258 次
发布时间:2019-03-01

本文共 1388 字,大约阅读时间需要 4 分钟。

Vim编辑器(二)

一、Vim打开文件

在使用Vim编辑文件时,你可以按照以下方式打开文件:

vim 文件名称

如果系统中存在指定文件名的文件,Vim会直接打开该文件并进入命令模式;如果文件不存在,Vim会在保存并退出时自动创建一个同名的新文件。

二、进入编辑模式

在Vim中,除了命令模式外,还有编辑模式(Insert Mode)和末行模式(Insert Line Mode)。以下是进入编辑模式的几种常用方法:

  • 按下 ai:插入光标后面的字符或行末尾
  • 按下 AI:插入行首或光标前
  • 按下 oO:在光标当前行下方或上方另起一行

在编辑模式中按下 Esc键即可回到命令模式。

三、末行模式操作

在命令模式下按下 shift + 可以进入末行模式(Insert Line Mode)。末行模式下,以下命令会直接生效:

  • :w:保存并退出
  • :q:不保存退出
  • :wq:保存并退出
  • :wq!:强制保存并退出
  • :q!:强制不保存退出

你还可以在末行模式中设置一些参数以便于日常使用:

set nu              # 显示行号set nonu           # 取消行号显示set ruler           # 显示右下角的状态栏set syntax on      # 语法高亮

四、Vim实际操作

在实际使用Vim时,以下操作将对你来说非常有用:

1. 移动光标

  • 使用方向键(↑、↓、←、→)移动光标
  • gg:移动到文件开头
  • GG:移动到文件结尾
  • ^$:移动到行首或行尾
  • :n:跳转到指定行(如 :5n 跳转到第5行)

2. 删除或剪切

  • xX:删除单个字符
  • dd:删除一行
  • ndd:删除多行(如 5dd 删除5行)
  • dG:从光标位置到文件末尾删除

3. 复制

  • yy:复制一行
  • nyy:复制多行(如 5yy

4. 撤销

  • u:撤销上一次操作
  • Ctrl+r:反向撤销

5. 命令模式替换

  • r:替换光标所在处的字符
  • R:从光标所在处开始逐字符替换

6. 查找

  • 按下 /:启动查找模式
  • ?:从光标所在行向上查找
  • nN:查找下一个或上一个结果

7. 末行模式替换

在末行模式中,可以使用以下命令:

:1,10s/dd/jj/g    # 替换第1到第10行的所有 `dd` 为 `jj`:1,10s/^/#/g    # 注释第1到第10行:1,10s/^/\//g   # 取消注释:1,2s/a/0/       # 替换第1到第2行的第一个 `a` 为 `0`

8. 导入文件内容

在Vim中,可以使用以下命令将文件内容导入到编辑界面:

:r 文件名

如果需要执行系统命令,可以使用:

!命令

例如:

:r !ls

会将当前目录的文件列表导入到光标所在行。

五、字符替换

在Vim中,可以使用以下命令进行字符替换:

:ab 源字符 替换为字符

例如:

:ab mm 66@qq.com

会将所有 mm 替换为 66@qq.com

六、多文件打开

如果需要同时编辑多个文件,可以使用以下命令:

vim -o a1 a2

使用 -o 会在上下分屏打开文件;使用 -O 会在左右分屏打开文件。打开文件后,可以通过按住 Ctrl+W 加上方向键来切换文件。

以上就是Vim的基本使用方法和操作技巧,熟练掌握这些命令将大大提升你的编辑效率!

转载地址:http://myhx.baihongyu.com/

你可能感兴趣的文章
NMF(非负矩阵分解)
查看>>
nmon_x86_64_centos7工具如何使用
查看>>
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>