`
totoxian
  • 浏览: 1074375 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

vim 与vi的兼容性问题

阅读更多

周海汉/文 2009.2.3
ablozhou # gmail.com
http://blog.csdn.net/ablo_zhou

1. 安装了个vim7.0,但发现编辑模式下退格键backspace和上下左右光标移动键不能用,非常不方便。

在编辑模式下,移动光标会变成A B C D等字符并换行。


原来vim缺省是vi兼容模式,设置成不兼容模式就好了:
:set nocp

可以用help查看相关的设置。
:help cp
:help compatible


2.打开一个已存在的文件后,文件中的字符,不能用backspace键删除。但是此时如果输入新的字符,却可以用backspace进行删除。这是怎么回事?

查看帮助:
:help bs
:help backspace

原来,backspace有几种工作方式,默认是vi兼容的。对新手来说很不习惯。对老vi 不那么熟悉的人也都挺困扰的。可以用
:set backspace=indent,eol,start
来解决。

indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项。否则不响应。
eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置eol。
start:要想删除此次插入前的输入,需设置这个。

3.光标在行尾按右方向键不到下一行行首,在行首按左方向键不到上一行行尾,怎么回事?

:help ww
:help whichwrap

想用左移键回到上一行的行尾,在行尾用右移键能够到下一行的开头,通过设置 whichwrap 我们可以对一部分按键开启这项功能。 如果想对某一个或几个按键开启到头后自动折向下一行的功能, 可以把需要开启的键的代号写到 whichwrap 的参数列表中,各个键之间使用逗号分隔。
以下是 whichwrap 支持的按键名称列表:

b: 在 Normal 或 Visual 模式下按删除(Backspace)键。
s: 在 Normal 或 Visual 模式下按空格键。
h: 在 Normal 或 Visual 模式下按 h 键。
l: 在 Normal 或 Visual 模式下按 l 键。
<: 在 Normal 或 Visual 模式下按左方向键。
>: 在 Normal 或 Visual 模式下按右方向键。
~: 在 Normal 模式下按 ~ 键(翻转当前字母大小写)。
[: 在 Insert 或 Replace 模式下按左方向键。
]: 在 Insert 或 Replace 模式下按右方向键。

4. 如何将tab键替换为空格?
编辑python文件时,按tab键不能自动替换为空格,应如何处理?
:set ai
:set shiftwidth=4
:set sw=4
自动缩进的时候, 缩进尺寸为 4 个空格。
:set tabstop=4
:set ts=4
Tab 宽度为 4 个字符。
:set expandtab
:set et
编辑时将所有 Tab 替换为空格。
该选项只在编辑时将 Tab 替换为空格, 如果打开一个已经存在的文件, 并不会将已有的Tab 替换为空格。 如果希望进行这样的替换的话, 可以使用这条命令“:retab”。

分享到:
评论

相关推荐

    vi与vim的区别.doc

    本文将详细介绍vi与vim的区别以及vi的基本使用方法。vi和vim都是多模式编辑器,但vim是vi的增强版,它在保留vi所有功能的同时,增加了许多新特性。 首先,vim的一个显著特点是多级撤消。在vi中,用户只能撤销最后一...

    centos7离线安装vim

    - **版本兼容性**:确认你下载的Vim版本与你的CentOS 7版本兼容。不同版本的CentOS可能需要不同版本的Vim。 - **权限问题**:在执行安装脚本或操作系统级别的更改时,确保具有足够的权限,可能需要以root用户身份...

    vim-8.2离线安装包+依赖包.rar

    注意,由于Ubuntu 14.4已经是一个比较旧的版本,可能会遇到一些兼容性问题,确保所有依赖都已安装且版本匹配是至关重要的。如果在安装过程中遇到任何问题,查阅官方文档或在线社区通常能找到解决方案。

    《Hacking Vim》[PDF]

    VIM是VI的优秀后裔,虽然VI的后裔中不仅仅包括VIM,但是VIM是实现对VI的兼容性最好的编辑器,其他的后裔还包括STEVIE, ELvis, NVi, Vile等。除了实现对VI的兼容性外,VIM还扩展了很多的功能,包括语法高亮,代码折迭...

    VIM 官方使用手册

    6. **兼容性**:由于VIM在不同系统间的兼容性问题,手册会介绍如何解决跨平台问题。 7. **故障排查**:当遇到问题时,手册提供了解决方案和调试技巧。 通过研读这份"VIM官方使用手册",无论是初学者还是经验丰富的...

    ubuntu 20.04.1 离线vim资源包

    - 同样的版本号意味着这个版本的Vim与runtime包是配套的,确保兼容性和功能完整。 安装这两个deb文件的方法是在终端中使用`dpkg`命令: ```bash sudo dpkg -i vim-runtime_8.1.2269-1ubuntu5.7_all.deb sudo dpkg...

    VIM 编辑器最新版本--VIM7.2

    在兼容性方面,VIM7.2保持了对旧版本VIM脚本的良好兼容性,这意味着大部分为VIM7.1编写的插件和配置文件无需修改即可在新版本中正常工作。 总的来说,VIM7.2作为一个重要的版本更新,不仅增强了核心功能,优化了...

    notepad++ 的 vim插件

    Vim是一款强大的文本编辑器,拥有丰富的命令集和高度可定制性,深受程序员喜爱。Vim插件将Vim的功能集成到Notepad++中,使得Notepad++用户也能体验到Vim的高效编辑方式。 Visimulator是Notepad++的一个Vim模拟插件...

    Vimscript的经典教程

    Vim,全称为Vi Improved,是一种高度可定制的文本编辑器,广泛应用于程序员中,尤其受那些追求效率和速度的用户的欢迎。Vimscript作为Vim的原生脚本语言,允许用户通过编写脚本来增强Vim的功能,使它更符合个人的...

    vim各种旧版的源码

    研究源码,我们可以看到如何处理跨平台的兼容性问题,如文件路径处理、终端控制等。 6. **用户界面的改进**:早期的Vim可能只有命令行界面,而随着版本的提升,可能引入了图形用户界面(GUI)。源码中关于界面交互...

    [最优秀的文本编辑器.Vim.(绿化版)].Vim

    6. **兼容性与效率** Vim对各种文件格式和编程语言有良好的支持,可以处理包括源代码、markdown、纯文本在内的多种文件类型。其高效的文本处理能力,尤其在处理大文件时,表现出色,不会像其他图形化编辑器那样出现...

    jeff-vim-read(vim 配置)

    14. **增强的复制和粘贴**:处理复制和粘贴时,可能已经解决了Vim与系统剪贴板之间的兼容问题。 15. **缓冲区管理**:高效管理多个打开的文件,避免频繁的窗口切换。 在安装和使用"jeffy-vim-read"时,用户需要先...

    vim7.3 for linux

    - 错误修复和兼容性改进:确保在不同Linux发行版上稳定运行。 - 新增和改进的命令:如`:tabdo`用于在所有标签页执行命令,`:global`命令改进等。 3. **Vim的安装与配置** - 在Linux系统中,通常通过包管理器(如...

    vim软件包amd64架构

    3. **兼容性提升**:对于Ubuntu 2ubuntu2.1这样的特定发行版,可能会修复一些与系统环境相关的兼容性问题。 4. **安全更新**:这个版本可能包含了安全补丁,修复了之前版本存在的潜在安全风险。 5. **错误修正**:...

    windows编辑器Vim82.zip

    10. **兼容性**:Vim在各种操作系统上都能运行,包括Windows、Linux和macOS,确保了跨平台一致性。 Vim8.2版本的更新亮点可能包括: 1. **新特性**:可能添加了新的命令、功能或对已有功能进行了增强。 2. **性能...

    vim配置文件.rar

    10. **兼容性**:`set nocompatible`关闭与vi的兼容模式,充分利用Vim的特性。 11. **启动选项**:你还可以在.vimrc中设置启动时的行为,比如默认打开某个文件夹(`cd /path/to/directory`)。 12. **状态行**:...

    linux-VimWorkspace将类似IDE的标签带入Vim方便导航并且可以自定义外观

    5. **与其他插件的兼容性**:作为Vim的一个扩展,VimWorkspace设计时考虑到了与其他Vim插件的兼容性。这意味着用户可以结合使用其他增强Vim功能的插件,如NERDTree(文件系统浏览器)、ALE(代码检查工具)等,构建...

    开源项目-vim-vim.zip

    3. **新API和插件支持**:Vim 8.0提供了一个新的插件API,使得开发者可以编写更高效、更稳定的插件,同时保持与旧版Vim的兼容性。此外,还引入了job控制,使得插件可以与外部进程进行通信。 4. **增强的语法高亮**...

Global site tag (gtag.js) - Google Analytics