首页 > 系统相关 >Linux Vim最全面的教程

Linux Vim最全面的教程

时间:2024-07-14 15:56:54浏览次数:11  
标签:教程 set 插件 模式 vim 插入 Linux Vim

前言

Vim是一款强大的文本编辑器,广泛用于Linux系统中。其强大的功能和灵活的配置使得它成为许多开发者和系统管理员的首选工具。本文旨在提供一份最全面的Vim教程,帮助你从基础到高级,全面掌握这款编辑器。

目录

  1. Vim简介
  2. Vim的安装
  3. 基本操作
  4. 常用命令
  5. 高级功能
  6. 配置Vim
  7. 插件管理
  8. 实用技巧
  9. 总结

1. Vim简介

Vim(Vi IMproved)是从早期的Vi编辑器发展而来的,旨在保持Vi快速和高效的基础上添加更多功能。Vim主要有两种模式:普通模式和插入模式。普通模式用于导航和操作文本,插入模式用于编辑文本。Vim以其强大的文本处理能力和丰富的插件生态系统著称。

2. Vim的安装

在大多数Linux发行版中,Vim已经预装。如果没有预装,可以通过包管理器安装:

# Debian/Ubuntu
sudo apt update
sudo apt install vim

# CentOS/RHEL
sudo yum install vim

# Arch Linux
sudo pacman -S vim

3. 基本操作

启动Vim

vim filename

如果文件不存在,Vim将创建一个新文件。

模式切换

  • 普通模式:启动Vim默认进入的模式。在普通模式中,按键是命令。
  • 插入模式:按 i 进入插入模式,在该模式下可以输入文本。按 Esc 返回普通模式。
  • 命令模式:在普通模式下按 : 进入命令模式,输入命令后按 Enter 执行。

退出Vim

  • :q 退出
  • :q! 强制退出(不保存)
  • :wq 保存并退出
  • :x 保存并退出(如果文件未修改则直接退出)

保存文件

  • :w 保存当前文件

4. 常用命令

光标移动

  • h 左移
  • j 下移
  • k 上移
  • l 右移
  • 0 移动到行首
  • $ 移动到行尾
  • w 移动到下一个单词的开头
  • b 移动到上一个单词的开头
  • e 移动到下一个单词的结尾

文本编辑

  • i 切换到插入模式,从光标前插入文本
  • a 切换到插入模式,从光标后插入文本
  • o 在当前行下方新建一行并进入插入模式
  • O 在当前行上方新建一行并进入插入模式
  • x 删除光标所在字符
  • dd 删除整行
  • d$ 删除当前行从光标位置到行尾的内容
  • u 撤销上一个操作
  • Ctrl + r 重做上一个撤销的操作

搜索和替换

  • /pattern 向下搜索
  • ?pattern 向上搜索
  • n 跳转到下一个搜索结果
  • N 跳转到上一个搜索结果
  • :s/old/new/ 替换当前行第一个匹配的字符串
  • :s/old/new/g 替换当前行所有匹配的字符串
  • :%s/old/new/g 替换整个文件所有匹配的字符串
  • :%s/old/new/gc 替换整个文件所有匹配的字符串,并在每次替换前确认

5. 高级功能

多文件编辑

  • :e filename 打开新文件
  • :bn 切换到下一个缓冲区
  • :bp 切换到上一个缓冲区
  • :bd 关闭当前缓冲区

分屏操作

  • :split filename 水平分屏
  • :vsplit filename 垂直分屏
  • Ctrl + w, w 在分屏间切换
  • Ctrl + w, q 关闭当前分屏
  • Ctrl + w, = 等比调整分屏

宏录制和播放

  • q<register> 开始录制宏,例如 qa 录制到寄存器a
  • <commands> 执行一系列命令
  • q 结束录制
  • @<register> 播放宏,例如 @a 播放寄存器a中的宏
  • @@ 重复上次播放的宏

6. 配置Vim

Vim的配置文件是 ~/.vimrc,你可以通过编辑这个文件来定制Vim的行为。

基本配置示例

set number            " 显示行号
syntax on             " 语法高亮
set tabstop=4         " Tab宽度为4
set expandtab         " Tab转换为空格
set shiftwidth=4      " 自动缩进宽度
set autoindent        " 自动缩进
set clipboard=unnamed " 使用系统剪贴板
set cursorline        " 高亮当前行
set relativenumber    " 相对行号
set hlsearch          " 高亮搜索结果
set incsearch         " 实时搜索

配置解释

  • set number:显示行号。
  • syntax on:开启语法高亮。
  • set tabstop=4:设置Tab键的宽度为4个空格。
  • set expandtab:将Tab键转换为空格。
  • set shiftwidth=4:设置自动缩进的宽度为4个空格。
  • set autoindent:开启自动缩进。
  • set clipboard=unnamed:使用系统剪贴板。
  • set cursorline:高亮当前行。
  • set relativenumber:显示相对行号。
  • set hlsearch:高亮搜索结果。
  • set incsearch:实时显示搜索结果。

7. 插件管理

Vim的功能可以通过插件扩展。你可以使用Vundle或vim-plug等插件管理器来安装插件。

安装vim-plug

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

配置插件

~/.vimrc 中添加:

call plug#begin('~/.vim/plugged')

" 插件列表
Plug 'preservim/nerdtree'    " 文件树
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }  " 模糊查找
Plug 'tpope/vim-fugitive'    " Git集成
Plug 'itchyny/lightline.vim' " 状态栏

call plug#end()

然后在Vim中执行 :PlugInstall 以安装插件。

常用插件介绍

  • NERDTree:一个文件系统浏览器,允许你在Vim中轻松浏览和管理文件。
  • fzf:一个通用的模糊查找工具,结合fzf.vim插件,可以在Vim中快速查找文件、内容等。
  • vim-fugitive:一个Git集成插件,使你可以在Vim中执行Git命令。
  • lightline.vim:一个轻量级的状态栏插件,提供美观和实用的状态栏显示。

8. 实用技巧

快速移动到文件开头/结尾

  • gg 移动到文件开头
  • G 移动到文件结尾
  • :n<Enter> 跳转到第n行

代码折叠

  • za 折叠/展开代码块
  • zc 折叠
  • zo 展开
  • zR 展开所有折叠
  • zM 折叠所有代码

多行操作

  • Ctrl + v 进入可视块模式,用hjkl选择多行,然后进行批量操作,例如插入、删除等。

快速注释代码

利用插件 NERD Commenter,可以快速注释和取消注释代码。

Plug 'preservim/nerdcommenter'

安装插件后,使用以下命令注释/取消注释:

  • ,ci 注释选中的代码块
  • ,cu 取消注释选中的代码块

9. 总结

Vim是一款功能强大且灵活的文本编辑器,无论是日常编辑还是编程,都能大大提升效率。本文从基础操作到高级功能,再到插件管理和实用技巧,全面介绍了Vim的使用方法。希望通过这篇教程,大家能够熟练掌握Vim的使用,成为Vim高手。如果你有任何问题或建议,欢迎在评论区留言与我交流!

标签:教程,set,插件,模式,vim,插入,Linux,Vim
From: https://blog.csdn.net/FLK_9090/article/details/140418118

相关文章

  • nvim 基本使用
    安装nvim安装从https://github.com/neovim/neovim/releases下载最新稳定版,当前的LTS版本为0.10.0解压后将bin目录加入环境变量即可字体选择从https://www.nerdfonts.com/选择一个字体,安装可参考:ubuntu基本操作我选择的字体是:参考资料从零开始配置Neovim(Nv......
  • LivePortrait 数字人:开源的图生视频模型,本地部署和专业视频制作详细教程
    看到上面面部表情动态图片,是不是感觉挺有有意思?它就是通过快手、中科大和复旦大学联合研发的图生视频开源大模型LivePortrait(灵动人像)生成的视频。通过LivePortrait大模型,我们只需要一张人脸正面图片和一段文字或音频,即可制作专业的视频内容,例如产品介绍、教学课程、趣味视频等......
  • 《昇思25天学习打卡营第3天|初学教程/张量 Tensor》
    文章目录张量Tensor内积(InnerProduct)外积(OuterProduct)线性映射(LinearMapping)笛卡儿积(CartesianProduct)创建张量张量的属性张量索引张量运算Tensor与NumPy转换稀疏张量CSRTensorCOOTensor张量Tensor张量(Tensor)是一个可用来表示在一些矢量、标量和其他张量之......
  • 【vue教程】二. Vue特性原理详解
    目录回顾本章涵盖知识点Vue实例和选项创建Vue实例Vue实例的选项Vue模板语法插值表达式指令v-bindv-modelv-on自定义指令创建自定义指令在模板中使用自定义指令自定义指令的`钩子函数`自定义指令的实例演示指令注册局部注册指令过滤器数据绑定和响应式原理响应......
  • Linux常用选项和指令
    目录Linux指令使用注意用户创建与删除ls指令ls指令介绍ls常见选项ls选项组合使用pwd指令Linux文件系统结构多叉树结构文件系统介绍多叉树结构文件系统的特点cd指令绝对路径相对路径cd指令介绍家户目录最近访问的目录touch指令​编辑mkdir指令mkdir指令介绍......
  • linux系统查看父子进程
    ①查找特定进程的父进程ps-opid,ppid,cmd-p1234查找进程PID为1234的父进程②显示所有进程的树状结构pstree③显示特定进程及其父进程的树状结构pstree-s1234④启动top后,按下c键可以查看完整命令,按下f键进入字段管理界面,然后选择PPID字段。⑤启......
  • linux配置用户多次登录终端失败被锁定机制
    用户登录Linux系统终端,若多次输入密码错误失败将会被锁定,被锁定期间将不能再登录系统。该机制是由于系统应用了Linux-PAM(PluggableAuthenticationModulesforLinux)可插拔认证模,是一套适用于Linux的身份验证共享库系统。设置修改/关闭锁定机制步骤:1、在终端界面输入命......
  • linux-卸载phpstudy
    需要sudo-i再用root角色去/usr/bin/phpstudy-uninstall再删掉rm-rf/usr/local/phpstudy`运行状态===========webpanelstopphpstudyrunning=安装完成==请用浏览器访问面板:外网:http://119.139.137.25:9080/9B7E96内网:http://192.168.137.128:9080/9B7E96系统初......
  • 响应式UI知识付费系统源码 知识付费软件 教育下载网站模板 知识付费做的最好的平台 视
    内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍这是一款知识付费平台模板,后台可上传本地视频,批量上传视频连接,视频后台可设计权限观看,免费试看时间时长,会员等级观看,付费观看等功能,也带软件app权限下载,帮助知识教育和软件......
  • Nexpose v6.6.260 for Linux & Windows - 漏洞扫描
    Nexposev6.6.260forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releaseJul10,2024请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时覆盖整个网络,随......