侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux下 bash: vi or vim: command not found的解决方法

vi或vim简介

vi是一个命令行文本编辑器,它是最早的可视化文本编辑器之一。vi在许多Unix和类Unix系统中都是标准的文本编辑器。vi有多种实现,其中最流行的是vim。

vim是另一个命令行文本编辑器,它是“vi改进版”的缩写。vim是vi的一个实现,它增加了许多额外的功能,提高了用户体验和编辑效率。vim是最常用的vi标准的实现。大多数Linux发行版都已经安装了vim。

如果我们的系统中安装了vim,我们可以像启动vi一样启动vim:

vim /path/to/file/to/edit

可能原因

如果你在Linux系统中运行vi或vim命令时遇到bash: vi or vim: command not found的错误,可能有以下几种原因:

  • 没有安装vi或vim,或者安装的版本不兼容
  • 没有将vi或vim的可执行文件添加到环境变量中
  • 没有给vi或vim的可执行文件赋予执行权限

解决方法

方法1 安装或更新vi或vim

不同的Linux发行版有不同的方式来安装或更新vi或vim,以下是一些常见的例子:

  • Debian/Ubuntu/Deepin/Kali Linux/Raspbian等基于Debian的系统,可以使用apt-get或apt命令来安装或更新vi或vim:
sudo apt-get update
sudo apt-get install vim # 安装vim
sudo apt-get install nvi # 安装nvi,一个BSD风格的vi实现
  • CentOS 7可以使用yum命令来安装或更新vi或vim,但需要先启用EPEL仓库:
sudo yum install epel-release
sudo yum update vim # 更新vim
sudo yum install nvi # 安装nvi,一个BSD风格的vi实现
  • CentOS 8可以使用dnf命令来安装或更新vi或vim:
sudo dnf update vim # 更新vim
sudo dnf install nvi # 安装nvi,一个BSD风格的vi实现
  • Fedora可以使用dnf命令来安装或更新vi或vim:
sudo dnf update vim # 更新vim
sudo dnf install nvi # 安装nvi,一个BSD风格的vi实现
  • Alpine Linux可以使用apk命令来安装或更新vi或vim:
sudo apk add vim # 安装vim
sudo apk add busybox-vi # 安装busybox-vi,一个轻量级的vi实现
  • Arch Linux可以使用pacman命令来安装或更新vi或vim:
sudo pacman -S vim # 安装vim
sudo pacman -S nvi # 安装nvi,一个BSD风格的vi实现
  • Windows (WSL2)可以从GitHub下载最新版本的vim,并将其保存到/usr/local/bin目录下:
sudo curl -L "https://github.com/vim/vim/archive/refs/tags/v8.2.3582.tar.gz" -o /tmp/vim.tar.gz # 下载压缩包
cd /tmp && tar xzf vim.tar.gz # 解压压缩包
cd vim-vim-8.2.3582/src && sudo make && sudo make install # 编译和安装vim
  • Dockerfile可以在构建镜像时安装vi或vim,例如:
FROM ubuntu:20.04

RUN apt update && apt install -y vim

# 其他指令...
  • Docker容器可以在运行时安装vi或vim,例如:
docker run -it --rm ubuntu:20.04 bash -c "apt update && apt install -y vim && vim --version"

方法2 添加环境变量

如果你已经安装了vi或vim,但是它不在环境变量中,你可以将其所在的目录添加到PATH变量中,例如:

# 假设vi或vim在/usr/local/bin目录下
export PATH=$PATH:/usr/local/bin 

你也可以将这条命令添加到~/.bashrc文件中,以便每次登录时自动生效。

方法3 修改执行权限

如果你已经安装了vi或vim,并且它在环境变量中,但是它没有执行权限,你可以使用chmod命令来赋予它执行权限,例如:

sudo chmod +x /usr/local/bin/vim # 假设vim在/usr/local/bin目录下

vi或vim命令常规用法

vi或vim命令名称介绍

vi是Visual的缩写,它是一个命令行文本编辑器,它是最早的可视化文本编辑器之一。vi有多种实现,其中最流行的是vim。

vim是Vi IMproved的缩写,它是一个命令行文本编辑器,它是vi的一个实现,它增加了许多额外的功能,提高了用户体验和编辑效率。

语法格式

vi或vim的语法格式如下:

vi [options] [file ...]
vim [options] [file ...]

其中:

  • options 指定一些选项,例如-R只读模式,-c执行指定的命令等
  • file 指定要编辑的文件名,可以有多个

选项说明

vi或vim支持以下选项:

  • -R, --readonly 以只读模式打开文件
  • -c {command} 在打开文件后执行指定的命令
  • -e, --ex 以Ex模式启动
  • -h, --help 显示帮助信息并退出
  • -o[N], --open=N 以水平分割窗口打开N个文件,默认为所有文件
  • -O[N], --Open=N 以垂直分割窗口打开N个文件,默认为所有文件
  • -r, --recover 恢复上次未保存的会话
  • -s, --silent 以静默模式启动
  • -v, --version 显示版本信息并退出

实例

以下是一些vi或vim命令的实例:

  • 打开一个新的空白文件:
vi 
# 或者
vim
  • 打开一个已存在的文件:
vi /path/to/file 
# 或者
vim /path/to/file
  • 以只读模式打开一个文件:
vi -R /path/to/file 
# 或者
vim -R /path/to/file
  • 在打开文件后执行指定的命令:
vi -c 'set number' /path/to/file 
# 或者
vim -c 'set number' /path/to/file # 打开文件后显示行号
  • 以水平分割窗口打开两个文件:
vi -o2 file1 file2 
# 或者
vim -o2 file1 file2 # 打开两个文件并水平分割
0

评论区