Vi Family

ViFamily

HomePage | RecentChanges | EditorIndex | TextEditorFamilies | Preferences

The VI family is a popular member of the TextEditorFamilies, especially on UNIX and Linux machines. Editors in this family are all Modal.

Vi Editor Family:


  • VI - The original Unix screen editor by Bill Joy

  • em - Derivative of ed for screen editing, and ancestor of vi

vi clones:

  • AmigaVIM - A port of VIM 5.0 to the amiga
  • bvi - A binary editor that follows the ViFamily KeyboardLayout convention.
  • calvin - A limited vi for DOS. (No R replace, and limited to 640KB memory.)
  • Cream - Vim repackaged to be CUA compliant
  • Elvis - Began on the Atari 520 ST computer.
  • jsvi - Open source web-based editor in JavaScript, modeled on vi
  • Lemmy - A windows version with syntax highlighting.
  • levee - A tiny vi clone for Linux
  • MacVim - Open source port of the Vim editor to the Macintosh
  • nvi new vi. Free BSD-Unixes (FreeBSD, NetBSD? and OpenBSD?) use this as vi.
  • OpenWatcom Vi - A Vi-like editor included with the OpenWatcom C++/F77 development environment.
  • PVIC - A portable Vi clone based on Stevie
  • Stevie - Small vi clone originally written for the Atari ST and ported to other platforms
  • svicc - An nvi clone for Commodore C64
  • tvx - Open source editor emulating vi - predecessor of Vide
  • VI Distributed - Open source distributed ncurses based editor
  • Vigor - "Clippy" plugin for vi under Linux and BSD
  • vile - VI and Emacs combination. Implemented using MicroEmacs
  • VIM - A great (and portable) VI implementation. Clearly the best version available today. It is based on Stevie.
  • VimCE - A port of Vim to the PocketPC
  • VimOutliner - An outlining editor based on VIM
  • VIrus - Open source minimalist vi implementation taken from Busybox
  • WinVI - Freeware Windows GUI vi clone
  • xvi - A portable multi-file text editor based on vi

vi implementations that run inside other applications:

  • The AbiWord word processor lets you switch to vi keybindings by editing a configuration file.
  • bash, gdb, mysql-client, and many other applications use the GNU Readline library to interact with the user. Readline includes a vi mode.
  • In Bourne-style shells like ksh and zsh, type set -o vi to enable vi-like command-line editing.
  • The Crisp text editor includes vi emulation.
  • For Eclipse, use vrapper, viPlugin, viclipse?, or eclipseviplugin. Or use vimplugin? or Eclim? to run an instance of Vim inside Eclipse. Also see the "For programming" line elsewhere on this page.
  • The Editra text editor has a Vim emulation mode.
  • For Emacs, use Vimpulse?, mlessvim?, or vim-mode? for Vim emulation. Or use VIPER?, modal-mode?, evi.el, M-x vip-mode, or M-x vi-mode for vi emulation.
  • For Firefox, use jV?, vi Textbox Editor, or Textarea viEditor to get vi-like editing in textareas. Or use It's All Text!, Editus Externus, or EmbeddedEditor? to use an external editor to edit textareas. To use vi-like keybindings for Web browsing, use the Pentadactyl? extension or its ancestor, Vimperator. When Pentadactyl or Vimperator is installed, use CTRL+I to launch gVim to edit the current text field.
  • For gedit, use ViGedit? for vi emulation.
  • For the Google Chrome web browser, there exist at several different software packages to get vi-like keybindings. Visit https://chrome.google.com/extensions/search?q=vim -- and also try a Web search for [ chrome vim ] -- to find them all.
  • For the IntelliJ? IDEA Java IDE, use IdeaVIM? for Vim emulation.
  • For the JED text editor, visit the Jed Modes website for a vi emulation mode.
  • For jEdit, use Vimposter? for vim emulation.
  • For the JBuilder Java IDE, use jVi, which is a port of a large portion of Vim, or VIEX?.
  • The Kate text editor includes a vi mode.
  • The Komodo multi-language IDE and Komodo Edit (the freeware version) include vi emulation.
  • For MS Outlook, use ViEmu for Vim emulation, or use CubicleVim? to let you use Vim as an external editor.
  • For MS SQL Server, use ViEmu for Vim emulation.
  • For MS Visual Studio, use ViEmu or VsVim for Vim emulation.
  • For MS Word, use viWord (experimental) for vi emulation or ViEmu for Vim emulation.
  • For the NetBeans Java IDE, use jVi, which is a port of a large portion of Vim.
  • For Opera, use vimperopera? to get vi-like keybindings for Web browsing.
  • The [Qt Creator]? multi-language IDE includes a Vim mode.
  • The SlickEdit multi-language IDE includes Vim emulation.
  • The SVI? text editor for the Squeak Smalltalk-based environment includes Vim emulation.
  • The vifm? file manager includes vi-like keybindings.
  • The VIDE C/C++/Java? IDE includes vi emulation.
  • For TextMate, use ViMate for vi emulation.
  • For the Thunderbird email and news client, use the Muttator? extension to get vi-like keybindings.

Using other applications inside Vim:

  • For email, use notmuch.vim?, an email client that runs inside Vim.
  • For programming, use Eclim? to let Vim access Eclipse features.

Misc.:

  • Yzis? is a Vim clone based around a C++ library which can be embedded into other software. Yzis ships with Qt and ncurses frontends.

vi utilities and macros:

  • evi - Macro definitions to make VI emulate emacs
  • e for vi - Command line preprocessor to get you into vi with ease
  • vi-hanoi - vi macros to solve the Tower of Hanoi puzzle
  • vi-maze - vi macros to solve mazes generated by Unix maze
  • Vigor - Vi plugin inspired by the User Friendly comic strip

non-vi modal editors

  • ve? - Freeware Modal editor by Rico Tudor. Inspired by vi, but comepletely different. Included with BeOS?.

HomePage | RecentChanges | EditorIndex | TextEditorFamilies | Preferences
Edit text of this page | View other revisions
Last edited August 17, 2012 11:24 pm (diff)
<think>我们正在处理关于Mellanox Technologies MT28908网卡(属于ConnectX-6 Dx系列)的驱动和问题查询。根据用户提供的引用内容,我们有以下信息: - 引用[1]和[2]表明用户使用的是Mellanox ConnectX-6 Dx网卡(MT2892 Family),并且通过`lspci`命令查看到了网卡的信息,还检查了PCIe链路状态(LnkSta),显示速度为16GT/s,宽度为x16。 - 引用[3]提到了Mellanox网卡驱动安装和温度检查,并显示了另一张Mellanox网卡(ConnectX-4 Lx)的信息。 - 引用[4]是关于Mellanox网卡虚拟化的配置,在GRUB命令行中启用了IOMMU和PCI重分配选项。 用户的问题集中在MT28908(属于ConnectX-6 Dx系列)网卡的驱动和相关问题上。注意,MT28908和MT2892都是ConnectX-6 Dx系列的不同型号,驱动是通用的。 ### 解决步骤 1. **确认网卡型号和驱动支持**: - Mellanox ConnectX-6 Dx系列网卡的驱动是`mlx5_core`(内核模块)。该驱动通常包含在较新的Linux内核中(4.18以上版本对ConnectX-6有较好支持)。如果使用最新内核,通常不需要单独安装驱动。 - 如果内核版本较旧,需要从Mellanox官网下载OFED(OpenFabrics Enterprise Distribution)驱动包进行安装。 2. **检查驱动加载情况**: - 使用以下命令检查驱动模块是否加载: ```bash lsmod | grep mlx5 ``` 应该看到`mlx5_core`、`mlx5_ib`(如果使用InfiniBand)等模块。 3. **安装最新驱动(如果需要)**: - 访问Mellanox官方网站的驱动下载页面:https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed - 选择对应的操作系统和版本,下载并安装MLNX_OFED驱动包。安装步骤通常如下: ```bash tar xvf MLNX_OFED-*.tgz cd MLNX_OFED-* sudo ./mlnxofedinstall ``` 4. **检查网卡状态**: - 使用`ethtool`检查网卡状态和配置: ```bash ethtool <interface_name> # 例如eth0 ``` 重点关注: - `Link detected`: 是否检测到链路(网线是否连接,对端交换机端口是否开启等) - `Speed`: 网卡协商的速度(应为25Gb/s或更高,取决于网络环境) - 如果速度不对,可以使用`ethtool -s <interface_name> speed <speed> autoneg on`进行调整(但通常建议自动协商)。 5. **查看PCIe链路状态**(如引用[2]所示): - 使用`lspci -vvv -s <pci_address>`查看网卡的PCIe详细信息,特别是链路状态(LnkSta): ```bash lspci -vvv -s 65:00.0 | grep LnkSta ``` 确保链路速度和宽度符合预期(例如,x16和16GT/s)。 6. **常见问题**: - **驱动不匹配**:如果内核更新后未重新编译驱动,可能导致驱动不匹配。重新安装MLNX_OFED驱动可以解决。 - **固件问题**:更新网卡固件。Mellanox OFED安装包通常包含固件更新工具,安装过程中会提示更新固件。也可以使用`mlxfwmanager`工具检查并更新固件。 - **虚拟化问题**:如果需要在虚拟化环境中使用(如引用[4]),确保BIOS中启用了VT-d/AMD-Vi,并在GRUB配置中启用IOMMU(如`intel_iommu=on iommu=pt`)。然后配置VF(虚拟功能)以便虚拟机使用。 7. **温度检查**(如引用[3]): - Mellanox网卡的温度可以通过Mellanox的固件工具查看。首先安装`mstflint`工具(包含在MLNX_OFED中),然后使用: ```bash mget_temp -d <device> # 例如:mget_temp -d /dev/mst/mt4115_pciconf0 ``` ### 操作示例 **更新固件**: 1. 下载并安装MLNX_OFED驱动包。 2. 安装过程中,脚本会提示更新固件,按提示操作即可。 3. 或者手动更新: ```bash flint -d <device> -i <firmware_image> burn ``` **检查驱动版本**: ```bash modinfo mlx5_core ``` **查看网卡信息(Mellanox专用工具)**: 安装`mstflint`后,使用: ```bash lspci -vvv -s <pci_address> # 查看详细PCI信息 mst status # 查看Mellanox设备状态 mlxconfig -d <device> query # 查询和配置网卡参数 ``` ### 相关问题 1. 如何安装Mellanox OFED驱动程序? 2. 如何更新Mellanox网卡的固件? 3. 在Linux中如何配置SR-IOV虚拟化以使用Mellanox网卡? 4. 如何诊断Mellanox网卡链路速度不达标的问题? 5. 如何监控Mellanox网卡的温度和健康状况? 通过以上步骤,大部分Mellanox ConnectX-6 Dx网卡的问题应该可以得到解决。如果问题仍然存在,建议查看Mellanox官方文档或联系技术支持。</think>### Mellanox MT28908 (ConnectX-6 Dx) 网卡驱动与问题解决指南 #### 1. **确认网卡型号与驱动状态** ```bash # 查看网卡型号(MT28908属于ConnectX-6 Dx系列) lspci | grep -i Mellanox # 示例输出: 65:00.0 Ethernet controller: Mellanox Technologies MT2892 Family [ConnectX-6 Dx] # 检查驱动加载状态 lsmod | grep mlx5_core # 正常应显示:mlx5_core, mlx5_ib 等模块 ``` #### 2. **驱动安装与更新** MT28908需使用**MLNX_OFED**官方驱动包: 1. **下载驱动**: [Mellanox官网下载页](https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed) 选择对应操作系统版本(如Linux 5.4+) 2. **安装步骤**: ```bash tar -xvf MLNX_OFED-*.tgz cd MLNX_OFED-* sudo ./mlnxofedinstall --force sudo /etc/init.d/openibd restart ``` 3. **验证安装**: ```bash # 检查驱动版本 modinfo mlx5_core | grep version # 查看固件版本 ethtool -i enp65s0f0 | grep firmware ``` #### 3. **常见问题排查** - **问题1:PCIe链路异常** ```bash lspci -vvv -s 65:00.0 | grep LnkSta ``` 检查输出: ✅ 正常状态:`Speed 16GT/s, Width x16` ❌ 异常状态:`Speed 2.5GT/s`(需检查PCIe插槽是否在x16模式) - **问题2:网卡未识别** - 更新主板BIOS并启用PCIe ARI支持 - 检查内核参数(添加到`/etc/default/grub`): ```ini GRUB_CMDLINE_LINUX="... pci=realloc=off" ``` 执行 `sudo update-grub` 后重启[^4] - **问题3:性能下降** ```bash # 启用多队列RSS ethtool -L enp65s0f0 combined 16 # 检查中断均衡 cat /proc/interrupts | grep mlx ``` #### 4. **虚拟化支持(SR-IOV)** ```bash # 启用SR-IOV(需在BIOS开启VT-d/IOMMU) echo 8 > /sys/class/net/enp65s0f0/device/sriov_numvfs # 验证VF创建 lspci | grep Mellanox # 应显示多个Virtual Function设备 ``` #### 5. **诊断工具** - **固件更新**: 使用 `mlxfwmanager` 检查并更新固件 - **健康检查**: ```bash mst status -v # 查看设备状态 mlxlink -d /dev/mst/mt4115_pciconf0 # 检查链路 ``` > ⚠️ **注意**:MT28908与MT2892属同系列(ConnectX-6 Dx),驱动完全通用。若遇兼容性问题,建议使用MLNX_OFED 5.0+版本[^1][^2]。 --- ### 相关问题 1. 如何检查Mellanox网卡的PCIe链路速度和宽度? 2. 在KVM虚拟化中如何配置Mellanox SR-IOV? 3. Mellanox网卡出现`port_state: DOWN`错误应如何解决? 4. 如何更新Mellanox网卡的固件? 5. 为什么Mellanox网卡在Linux中显示为`mlx5_core`驱动?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值