【Linux】Vim 使用教程

Linux - Vim

Vim 是一款在 Linux 系统中广泛使用的文本编辑器,它是 Vi 编辑器的升级版。Vim 不仅功能强大,而且可高度定制化,是许多程序员和系统管理员的首选工具。以下是 Vim 在 Linux 系统中的安装、配置和使用过程的详细讲解。

附注:如果对Linux常用命令不熟悉的小伙伴可以先移步以下文章:【Linux】Linux常用命令及示例

安装 Vim

大多数Linux发行版都预装了Vim,如果没有预装,可以通过包管理器进行安装。

使用 apt 包管理器(适用于 Debian 和 Ubuntu)
sudo apt update
sudo apt install vim
使用 yum 包管理器(适用于 CentOS 和 RHEL)
sudo yum install vim
使用 dnf 包管理器(适用于 Fedora)
sudo dnf install vim

Vim 的基本使用

启动 Vim

在命令行中输入 vim 后跟文件名来启动 Vim 编辑器。如果文件存在,Vim 将打开该文件;如果文件不存在,Vim 将创建一个新文件。(效果等同于 touch filename.txt)

vim filename.txt

Vim 的三种模式

Vim 有三种基本模式:

  • 普通模式(Normal mode:启动 Vim 后默认进入普通模式,可以执行各种命令,如移动光标、删除文本等。
  • 插入模式(Insert mode:在普通模式下按 i 键进入插入模式,可以开始输入文本。
  • 命令行模式(Command-line mode:在普通模式下按 : 键进入命令行模式,可以执行保存、退出等命令。

基本操作

  • 进入插入模式:按 i
  • 退出插入模式:按 Esc
  • 保存文件:在命令行模式下输入 :w(write)
  • 退出 Vim:在命令行模式下输入 :q(quit)
  • 保存并退出:在命令行模式下输入 :wq:x
  • 撤销更改:在普通模式下按 u
  • 重做更改:在普通模式下按 Ctrl + r

Vim 配置

Vim 的配置通常在用户的主目录下的 .vimrc 文件中进行。如果没有这个文件,可以手动创建一个。

touch ~/.vimrc

接下来,可以在 .vimrc 文件中设置各种选项和插件。以下是一些基本的配置示例:

" 设置语法高亮
syntax on
" 显示行号
set number
" 设置缩进为4个空格
set tabstop=4
set shiftwidth=4
set expandtab
" 搜索时忽略大小写
set ignorecase
" 搜索时高亮显示匹配结果
set hlsearch

保存 .vimrc 文件后,重新打开 Vim 或在 Vim 中执行 :source ~/.vimrc 命令来使配置生效。

Vim 插件

Vim 支持各种插件来扩展其功能。最流行的插件管理器是 Vundle。以下是使用 Vundle 安装插件的基本步骤:

  1. 安装 Vundle:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  1. .vimrc 文件中配置 Vundle 和要安装的插件:
Plugin 'scrooloose/nerdtree'  " NERDTree 插件,用于浏览文件系统
Plugin 'vim-airline/vim-airline'  " Airline 插件,用于增强状态栏
Plugin 'vim-airline/vim-airline-themes'  " Airline 主题插件
  1. 安装插件:在 Vim 中运行以下命令来安装 .vimrc 中列出的所有插件:
:PluginInstall
  1. 更新插件:要更新插件,可以使用以下命令:
:PluginUpdate
  1. 清理未使用的插件:如果你删除了 .vimrc 中的某些插件条目,可以使用以下命令来清理这些不再使用的插件:
:PluginClean
  1. 查看插件状态:你可以使用以下命令来查看每个插件的安装状态:
:PluginList

Vim 插件示例

以下是一些流行的 Vim 插件及其在 .vimrc 中的配置示例:

NERDTree(文件浏览器)
" NERDTree 插件配置
map <C-n> :NERDTreeToggle<CR>

上述配置会在 Vim 中创建一个快捷键 <C-n> 来打开和关闭 NERDTree。

Airline(状态栏增强)
" Airline 插件配置
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'

上述配置启用了 Airline 的标签行功能,并自定义了一些分隔符的样式。

Syntastic(语法检查)
" Syntastic 插件配置
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

上述配置会使得 Syntastic 在打开文件时自动检查语法错误,并在保存文件时关闭自动检查。

以上就是对Vim常用的一些配置和操作,希望对大家有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/801439.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VUE:跨域配置代理服务器

//在vite.config。js中&#xff0c;同插件配置同级进行配置server:{proxy:{"/myrequest":{//代理域名&#xff0c;可自行修改target:"https://m.wzj.com/",//访问服务器的目标域名changeOrigin:true,//允许跨域configure:(proxy,options) > {proxy.on(&…

图片常用的压缩方法,适用多种常用图片格式

jpg、png、jpeg、gif等图片格式是日常最常用的三种图片类型&#xff0c;一般在使用或者上传图片的时候这几种是比较常用的格式。在使用图片的时候&#xff0c;最常见的一个问题就是图片太大需要缩小后才可以正常使用&#xff0c;那么有什么方法或者工具能够快速处理不同图片格式…

在Mac上免费恢复已删除的PowerPoint文件

Microsoft PowerPoint for Mac 允许您在 macOS 环境中访问您熟悉的 PowerPoint 工具。该软件是Mac版Microsoft Office套件的一部分&#xff0c;具有各种稳定版本&#xff0c;即。PowerPoint 2019、2016、2011 等 PowerPoint for Mac 与 Apple 自己的演示应用程序 Keynote 兼容…

组网升级,双击热备和宽带管理

拓扑 要求&#xff1a; 要求12&#xff1a; 要求13&#xff1a; 要求14&#xff1a; 要求15&#xff1a; 要求16&#xff1a;

记录些MySQL题集(2)

MySQL 不使用limit的分页查询 limit问题&#xff1a;limit&#xff0c;offset递增问题。随着offset的增加&#xff0c;条数不变&#xff0c;耗时却增加了。 limit 0,10 耗时1ms limit 300000,10 耗时152ms limit 600000,10 耗时312ms 毫秒级别可能没感觉。假…

netdata 监控软件安装与学习

netdata官网 netdata操作文档 前言&#xff1a; netdata是一款监控软件&#xff0c;可以监控多台主机也可以监控单台主机&#xff0c;监控单台主机时&#xff0c;开箱即用&#xff0c;web ui很棒。 环境&#xff1a; [root192 ~]# cat /etc/system-release CentOS Linux rel…

工业大数据是什么?应用工业大数据时面临哪些挑战?

在当今快速发展的工业领域&#xff0c;大数据已成为推动企业转型升级的核心动力。工业大数据&#xff0c;以其独特的价值和潜力&#xff0c;正逐渐改变着传统的生产、管理和决策模式。然而&#xff0c;伴随着大数据的快速发展&#xff0c;一系列挑战也随之浮现。本文将深入探讨…

玻璃透过率太阳光辐射系统模拟器

太阳光模拟器概述 太阳光模拟器是一种先进的实验室设备&#xff0c;它能模拟太阳光的全光谱辐射&#xff0c;包括紫外线、可见光和红外线&#xff0c;用以评估材料、产品或设备在太阳辐射影响下的性能和耐久性。太阳光模拟器在多个领域有着广泛的应用&#xff0c;如光伏电池测…

【GD32】从零开始学GD32单片机 | WDGT看门狗定时器+独立看门狗和窗口看门狗例程(GD32F470ZGT6)

1. 简介 看门狗从本质上来说也是一个定时器&#xff0c;它是用来监测硬件或软件的故障的&#xff1b;它的工作原理大概就是开启后内部定时器会按照设置的频率更新&#xff0c;在程序运行过程中我们需不断地重装载看门狗&#xff0c;以使它不溢出&#xff1b;如果硬件或软件发生…

书生大模型实战营-入门岛-第3关

Python Python实现wordcount import string def wordcount(text):# 去除标点符号translator str.maketrans(, , string.punctuation)text text.translate(translator)# 将所有单词转换为小写text text.lower()# 将文本分割为单词列表words text.split()# 统计每个单词出现…

Webpack看这篇就够了

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

python项目读取oracle数据库方法(cx_Oracle库实现)

目录 创建一个python项目&#xff0c;并配置运行环境 查看oracle对应数据库版本&#xff08;该标题下内容只是为了查看版本&#xff0c;不用在意&#xff09; 从oracle官网下载对应版本的oracle客户端 解压下载的压缩包&#xff0c;并获取依赖 将依赖文件导入python项目运…

护眼台灯真的有用吗?一文搞懂台灯怎么选对眼睛好

现在我们很多家长对自己孩子的视力十分关心&#xff0c;生怕自己的孩子是近视、远视、弱视等等。对于父母而言&#xff0c;在孩子读书压力大课业重的关键时期&#xff0c;为孩子选择合适的学习桌椅、护眼灯从而保护孩子的眼睛是非常重要的事情!那么买给孩子学习的台灯又该注意哪…

数据库操作太复杂?Python Shelve模块让你轻松存储,一键搞定!

目录 1、基本操作入门 &#x1f4da; 1.1 安装Shelve模块 1.2 创建与打开Shelve文件 2、存储与读取数据 &#x1f510; 2.1 写入键值对 2.2 读取存储的数据 3、高级功能探索 &#x1f9ed; 3.1 使用Shelve迭代键和值 3.2 键的管理&#xff1a;添加、删除与更新 4、异…

面试经验总结

某生物科技公司 1.代码实现删除一个 list 里面的重复元素 方法1&#xff1a;最简单容易的方法 此方法基于遍历整个列表&#xff0c;将第一个元素添加到新列表中。 # Python 3 code to demonstrate # removing duplicated from list # using naive methods # initializing …

如何在gitee上创建远程仓库?

登录gitee网站后 填写自己的仓库信息后点击创建 然后来到一个新的界面可以看到自己的仓库地址 这样一个空白的仓库就建立好了 也可以按需选择初始化仓库

开发体育直播平台:高并发问题解决手段及架构设计思路

在追求极致观赛体验的体育直播领域&#xff0c;高并发处理能力成为了衡量系统性能与稳定性的关键标尺。东莞梦幻网络科技技术团队&#xff0c;凭借其在互联网领域的深厚积累与前瞻视野&#xff0c;成功打造了一套高效、稳定的体育赛事直播系统&#xff0c;有效解决了高并发带来…

【Java18】初始化块

初始化块和构造器、成员变量、成员方法一起&#xff0c;是唯四能在类中出现的成员。 初始化块的作用和构造器类似&#xff0c;目的是对对象进行初始化操作&#xff1b;一个类中可以有多个初始化块&#xff1b;初始化块只有两种修饰方式&#xff1a;static和default。用static修…

ACL实验

目录 一、实验拓扑​编辑 二. 实验要求&#xff08;在图中&#xff09; 三、实验思路 配IP 全网可达 创建模拟机pc1 创建telent r1 r2 由题目可得 截图 pcr1​编辑 pcr2​编辑 四、实验总结&#xff08;写实验完成后的总结心得&#xff09; 一、实验拓扑 二. 实验…

[Unity]碰撞器的接触捕获层详解

目录 前言※关闭效果器(Effector)的遮罩接触捕获层的官方描述官方描述的翻译和注解接触捕获层作用简介接触(Contact)和捕获(Capture)配置接触捕获层的作用※接触捕获层对碰撞响应的影响需要接触捕获的物理查询需要接触捕获的物理回调注意运行时(Runtime)修改接触的相互性总结 相…