GVIM 新手指南

2024-04-10 19:58
文章标签 新手 指南 gvim

本文主要是介绍GVIM 新手指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【转】GVIM 新手指南 [转载]

原文链接:http://edyfox.codecarver.org/html/vim_for_beginners.html

术语约定: 如果没有特殊说明, 本文中提到的 VIM 指的是图形界面的 gvim 与字符界面的 vim 的统称, gvim 专指图形界面, vim 专指字符界面。

1 让 gvim 正常工作

VIM 是一个非常强大的编辑器, 可惜的是, 无论是 Windows 还是 Linux, gvim 都存在一些小故障, 令第一眼看到它的初学者感到非常不愉快。 为了不让更多的初学者在第一次接触 gvim 时被它吓跑, 我在这份教程中首先解决 gvim 令人感到不快的一些小问题, 希望能让更多的用户平滑地过渡到 gvim 的环境中来。

VIM 的安装很简单, Windows 下只要双击安装程序, 一路 next 下去就可以了 (注意到选择安装组件的时候请选择全部组件, 默认安装方式下会少装几个有用的小东西)。 Linux 下各个发行版安装方式都不一样, 但总体来说都不难装。 因此, 本文假设你已经成功地安装了一份 VIM, 不再介绍 VIM 的安装步骤。

1.1 屏蔽系统自带的 .vimrc

VIM 是一个高度可定制的编辑器, 它通过配置文件 .vimrc (Windows 下是 _vimrc)来定制程序的各种行为。 如果你没有编写 .vimrc 的话, 它会使用系统自带的一份默认配置文件。 可惜的是, 系统默认的配置文件存在种种很令人不快的问题。 例如 Windows 下加载 mswin.vim 带来的困惑, 和 Linux 下无法处理中文等等故障。 因此, 我们在安装了 VIM 之后, 第一件要做的事情就是创建自己的 .vimrc。 只要编写一份你自己的配置文件, VIM 便不会再加载系统自带的配置文件。

如果你是 Linux 用户, 请在你的 $HOME 目录下放置一个空文件, 文件名叫 .vimrc, 方法如下:

$ cd # 使用不带参数的 cd 命令,切换到 $HOME 目录
$ touch .vimrc # 使用 touch 命令创建一个空白文件

如果你是 Windows 用户, 请在你的 %HOME% 目录下放置一个空文件, 文件名叫 _vimrc。 步骤如下:

  1. 在资源管理器中切换到 %HOME% 目录;
  2. 右键单击文件列表的空白位置, 选择“新建”→“文本文件”;
  3. 将“新建文本文件.txt”重命名为“_vimrc”, 注意显示扩展名的问题。

现在, 我们已经创建了一份自己的 .vimrc。 在之后的部分里, 我们将逐渐往 .vimrc 里添加一些属于我们自己的内容, 得到一份真正属于自己的配置。

1.2 该节已删除 (原“Linux 下的中文处理”)

之前在默认 zh_CN.GB18030 的 Linux 发行版下, 旧版本的 GVim 有 bug, 无法正常处理中文, 需要进行一些配置。 而现在绝大部分 Linux 发行版都默认 UTF-8, 而 GVim 的 bug 也修复了, 因此这一节不再有存在的必要了。 如果你的 Linux 是 zh_CN.GB18030 且你的 Vim 有那个 bug, 你应该考虑的是升级系统, 而不是解决这个问题。

1.3 选择自己喜欢的字体

如果觉得 gvim 的字体显示效果不好的话, 不妨重新选择一个你喜欢的字体。 点“编辑”→“选择字体”, 然后在字体列表中选择一个你最中意的字体和字号, 确认后就可以了。 由于 gvim 只能使用等宽字体, 因此对话框中列出的字体可能比你系统里安装的字体要少得多, 请慢慢选择, 耐心选, 直到选出最满意的字体为止。 选择完毕后, 先按几下 ESC 确认处在 Normal 模式下, 然后输入这条命令:“:set guifont?” (这里的问号代表询问, 不要漏写), 回车后 gvim 屏幕最下方会显示出你当前所用的字体的名称, 例如在滇狐这里输入这条命令后出来的结果如下:

guifont=Bitstream Vera Sans Mono 9

请记住这里输出的字体名称, 如果必要的话请先暂时把它写下来备用, 之后我们需要将它写入配置文件。

1.4 设置多语言编码自动识别

完成上述配置之后, VIM 应该已经很适合“人类使用”了。 试着通过菜单或工具栏打开几个文本文件试验一下, 如果不出什么意外的话, 你也许会发现, 打开的绝大部分文本文件中, 中文都是乱码。 是的, 我们还没有配置多语言编码的自动识别。 确认当前输入法处于英文输入状态, 按若干下 ESC 以确保 VIM 处在 Normal 状态, 接着输入以下命令:

: set fileencodings =ucs -bom,utf -8,cp936,gb18030,big5,euc -jp,euc -kr,latin1

回车后再打开几个文本文件试试, 应该已经没有乱码出现了。 关于这句命令的详细原理, 可以参考这篇文章

1.5 将配置写入 .vimrc

之前我们通过一系列命令, 将 gvim 调整为一个比较适合我们使用的编辑环境。 然而, gvim 是不会自动记住我们这次所做的调整的。 下次再打开 gvim 时, 它又变回了原先的模样。 如果我们能够把刚才所输入的命令记录下来, 下次再打开 gvim 的时候把那些命令再执行一遍, 不就可以让 gvim 每次都保持我们调整过的最佳工作状态了么? 对, 这就是配置文件 .vimrc 的作用。

刚才我们已经创建了一个全空的配置文件 .vimrc, 现在我们往配置文件中写下我们的自己的配置代码。 .vimrc 的格式很简单, 只要将刚才输入的所有冒号开头的命令, 依次写入 .vimrc 即可, 写到配置文件里的时候就不要写冒号了。 VIM 启动的时候会依次执行这些命令。 另外, 配置文件中双引号开头的行表示注释, 在 VIM 读入 .vimrc 的时候, 这些行不会被执行。 因此你可以使用注释在 .vimrc 中写上一些说明文字, 为自己将来阅读配置文件提供方便。 再次复习一下前几节的内容, 然后写下自己的 .vimrc, 你现在的 .vimrc 可能是这个样子的:

set fileencodings=ucs-bom ,utf-8 ,cp936 ,gb18030 ,big5 ,euc-jp ,euc-kr ,latin1

" 设置字体。
" 字体名称可以通过前一节介绍的语句获得,
" 如果字体名称中含有空格,
" 需要在空格前面加上一个反斜杠,如下:

" 这是 Linux 风格的字体设置语法
set guifont=Bitstream\ Vera\ Sans\ Mono\ 9
" 这是 Windows 风格的字体设置语法
set guifont=Bitstream_Vera_Sans_Mono :h9 :cANSI

提示: 如果对 VIM 的基本操作一无所知的话, 现在你可以不妨先使用其它文本编辑器编写 .vimrc, 如记事本等。 当然, 如果你愿意现在就尝试着使用 gvim 编辑这个文件的话, 也是非常值得鼓励的。

2 入门学习2.1 vimtutor

vimtutor 是一个非常适合初学者学习 VIM 的简易教程。 教程中说阅读一遍这个教程需要 25 到 30 分钟, 其实很少有人需要这么长时间。 一般情况下, 如果精力集中的话, 15 到 20 分钟足以将这份教程从头到尾阅读一遍。 每天花 15 分钟时间将这份教程从头到尾看一遍, 平时进行纯文本编辑的时候, 尽量“逼迫”自己多使用 gvim, 花一周时间, 就可以比较熟悉 gvim, 能够用它完成普通的编辑工作了。

Linux 下的 vimtutor 是在终端中打开的, 如果终端字体配置正常, 一般情况下不会出现什么太大问题。 Windows 下的 vimtutor 会弹出一个 gvim 窗口, 大部分情况下也没有什么大问题, 在少部分机器上汉字会出现乱码。 如果 vimtutor 在你机器上显示不正常的话, 请先输入“:set encoding=cp936”, 回车, 然后再点击“编辑”→“选择字体”, 选择一个支持中文的字体, 如“新宋体”等, 确认后, 教程的显示应该就恢复正常了。

如果你以前从来没有使用过 VIM 的话, 请先花 15 分钟时间阅读一遍 vimtutor, 然后再继续往后阅读滇狐教程。 之后的部分再出现 vimtutor 里介绍过的术语时, 滇狐将不再作解释。

注意: 为了保证 vimtutor 在任何机器上运行效果都相同, 不会被本地设置的键绑定所干扰, vimtutor 运行时不会读取任何用户自定义的配置文件 .vimrc。 因此如果你之前做的设置在 vimtutor 里没有效果的话, 请不要太过于惊慌。

2.2 VIM 快速编辑示例

学习 VIM 其实是一件比较辛苦的事情, 刚开始的时候可能比用记事本还慢。 因此, 在学会 VIM 之前, 我们有必要先通过一些例子坚定一下信心。

VIM 的一大特点就是“快”。 这里列举了一些使用 VIM 能够快速完成, 而一些其它编辑器难以胜任的功能, 体现 VIM 的优越性。

3 编写自己的 .vimrc

作为一个高度可定制的编辑器, 为 VIM 编写适合自己使用的 .vimrc 是有必要的。 这里给出了一个适合初学者使用的 .vimrc 框架, 以及每一项设置的详细解释, 希望能给大家带来一些帮助。

这里是滇狐自己的 .vimrc, 里面有很多根据滇狐自己的习惯所做的设置。 如果你希望在自己机器上使用的话, 需要根据你的习惯做一些修改。

3.1 滇狐的 VIM 入门教程

vimtutor 虽然非常简单, 但涵盖的内容太过于有限; 用户手册虽然内容非常全面, 但如此巨大的一个大部头, 任何一个刚接触 VIM 的人都会被它吓到。 针对这个问题, 滇狐编写了一份 VIM 入门教程, 希望能给大家带来一些入门上的便利。

4 VIM 进阶

通过一个星期的努力, 把 vimtutor 中的基本命令都熟练掌握后, 使用 VIM 进行简单快速的编辑应该已经没有什么问题了。 接下来, 可以每天抽出半个小时时间, 在半个月左右内把 VIM 用户手册大概阅读一遍。 在 VIM 中 Normal 模式下输入“:help usr_toc”即可看到用户手册, 如果更习惯看中文版的话, 可以到这里下载。

记住, 没有必要记住手册中的所有命令, 只要大概知道有哪些命令, 需要用的之后知道到哪一章去查就可以了。 常用的命令查过几次之后自然而然就能够记住, 不常用的命令记下来也没有什么意义。

另外, 可以根据自己的需要, 下载一些常用的 VIM 插件, 方便自己的日常生活与工作。 这里有滇狐整理的 VIM 常用插件推荐, 感兴趣的话可以看看。

如果对 VIM 还有更加浓厚的兴趣的话, 可以试着自己编写 VIM 插件, 不过那些内容就不是这篇文章能够涉及的了。 祝大家好运! Happy VIMming~

这篇关于GVIM 新手指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891995

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

JavaScript错误处理避坑指南

《JavaScript错误处理避坑指南》JavaScript错误处理是编程过程中不可避免的部分,它涉及到识别、捕获和响应代码运行时可能出现的问题,本文将详细给大家介绍一下JavaScript错误处理的... 目录一、错误类型:三大“杀手”与应对策略1. 语法错误(SyntaxError)2. 运行时错误(R

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

MySQL中慢SQL优化方法的完整指南

《MySQL中慢SQL优化方法的完整指南》当数据库响应时间超过500ms时,系统将面临三大灾难链式反应,所以本文将为大家介绍一下MySQL中慢SQL优化的常用方法,有需要的小伙伴可以了解下... 目录一、慢SQL的致命影响二、精准定位问题SQL1. 启用慢查询日志2. 诊断黄金三件套三、六大核心优化方案方案

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常