Linux下vi和vim的使用方法

发布时间:2021-06-22 17:20:39 作者:chen
来源:亿速云 阅读:212
# Linux下vi和vim的使用方法

## 一、vi/vim简介

vi(Visual Interface)是Unix/Linux系统内置的经典文本编辑器,vim(Vi IMproved)是其增强版本,具有语法高亮、多级撤销等特性。作为系统管理员和开发者的必备工具,vi/vim的优势包括:
- 所有Linux发行版预装
- 纯键盘操作效率极高
- 资源占用极低
- 支持远程服务器编辑

## 二、基本工作模式

### 1. 三种核心模式
| 模式        | 功能特点                     | 进入方式              |
|-------------|----------------------------|----------------------|
| 命令模式    | 执行编辑器命令               | 启动默认/按ESC返回    |
| 插入模式    | 进行文本编辑                 | 命令模式下按i/a/o等   |
| 末行模式    | 执行保存退出等操作           | 命令模式下按:         |

### 2. 模式切换示意图
```mermaid
graph LR
    A[命令模式] -->|i/I/a/A/o/O| B[插入模式]
    B -->|ESC| A
    A -->|:/?| C[末行模式]
    C -->|回车执行| A

三、基础操作指南

1. 文件操作

vim filename      # 打开/新建文件
:w               # 保存文件
:wq或:x          # 保存并退出
:q!              # 强制退出不保存
:e!              # 放弃修改重新加载

2. 光标移动(命令模式)

3. 文本编辑

命令 功能说明
i 当前光标前插入
a 当前光标后插入
o 下方新建行插入
dd 删除当前行
yy 复制当前行
p 粘贴到下一行
u 撤销操作
Ctrl+r 重做操作

四、高效编辑技巧

1. 多文件操作

:sp filename    # 水平分屏
:vsp filename   # 垂直分屏
Ctrl+w+w        # 切换窗口
:ls             # 查看缓冲区列表
:bn/:bp         # 切换下一个/上一个文件

2. 搜索替换

/pattern      # 向前搜索
?pattern      # 向后搜索
n/N           # 下一个/上一个匹配
:%s/old/new/g # 全局替换
:10,20s/old/new/g # 指定范围替换

3. 高级功能

:set nu        # 显示行号
:set paste     # 粘贴模式(防格式错乱)
Ctrl+v         # 可视块模式(列编辑)
>>             # 增加缩进
<<             # 减少缩进

五、vim配置优化

1. 基本配置(~/.vimrc)

set tabstop=4     " 制表符宽度
set shiftwidth=4  " 缩进空格数
set expandtab     " 空格替代制表符
syntax on         " 语法高亮
set hlsearch      " 高亮搜索结果

2. 插件管理(Vundle示例)

" 安装Vundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

" 配置示例
Plugin 'scrooloose/nerdtree'   " 文件树
Plugin 'vim-airline/vim-airline' " 状态栏增强

六、学习建议

  1. 分阶段学习:先掌握基本移动和编辑,再学习高级功能
  2. 禁用方向键:强制使用hjkl培养肌肉记忆
  3. 常用命令表:打印常用命令对照表随时查阅
  4. 实战练习:通过实际编辑任务巩固技能

提示:在终端输入vimtutor可启动官方交互教程,建议新手每天练习15分钟,两周即可熟练掌握基础操作。 “`

推荐阅读:
  1. vi与vim的区别
  2. VI与VIM详细介绍

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:gitee中怎么修改默认分支改为main

下一篇:超全局数组的作用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》