在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程


Posted in Javascript onMarch 21, 2018

我是一位新的 Vim 编辑器用户。我通常使用 :vs ~/.vimrc 来加载 ~/.vimrc 配置。而当我编辑 .vimrc 时,我需要不重启 Vim 会话而重新加载它。在 Linux 或者类 Unix 系统中,如何在编辑 .vimrc 后,重新加载它而不用重启 Vim 呢?

Vim 是自由开源并且向上兼容 Vi 的编辑器。它可以用来编辑各种文本。它在编辑用 C/Perl/Python 编写的程序时特别有用。可以用它来编辑 Linux/Unix 配置文件。 ~/.vimrc 是你个人的 Vim 初始化和自定义文件。

如何在不重启 Vim 会话的情况下重新加载 .vimrc

在 Vim 中重新加载 .vimrc 而不重新启动的流程:

  1. 输入 vim filename 启动 vim
  2. 按下 Esc 接着输入 :vs ~/.vimrc 来加载 vim 配置
  3. 像这样添加自定义配置:

filetype indent plugin on set number syntax on

4. 使用 `:wq`  保存文件,并从 `~/.vimrc` 窗口退出
5. 输入下面任一命令重载  `~/.vimrc`:`:so $MYVIMRC` 或者 `:source ~/.vimrc`。

[![How to reload .vimrc file without restarting vim][1]][1]

*图1:编辑 ~/.vimrc 并在需要时重载它而不用退出 vim,这样你就可以继续编辑程序了*

`:so[urce]! {file}` 这个 vim 命令会从给定的文件比如  `~/.vimrc` 读取配置。就像你输入的一样,这些命令是在普通模式下执行的。当你在  `:global`、:`argdo`、 `:windo`、`:bufdo` 之后、循环中或者跟着另一个命令时,显示不会再在执行命令时更新。

### 如何设置按键来编辑并重载 ~/.vimrc

在你的  `~/.vimrc` 后面跟上这些:

" Edit vimr configuration file nnoremap confe :e $MYVIMRC " Reload vims configuration file nnoremap confr :source $MYVIMRC

现在只要按下  `Esc` 接着输入 `confe` 就可以编辑 `~/.vimrc`。按下 `Esc` ,接着输入 `confr` 以重新加载。一些人喜欢在 `.vimrc` 中使用 `<Leader>` 键。因此上面的映射变成:

" Edit vimr configuration file nnoremap ve :e $MYVIMRC " Reload vimr configuration file nnoremap vr :source $MYVIMRC

<Leader>` 键默认映射成  `\` 键。因此只要输入 `\` 接着 `ve` 就能编辑文件。按下 `\` 接着 `vr` 就能重载 `~/vimrc`。

这就完成了,你可以不用再重启 Vim 就能重新加载 `.vimrc` 了。

### 关于作者

作者是 nixCraft 的创建者,经验丰富的系统管理员,也是 Linux / Unix shell 脚本的培训师。他曾与全球客户以及IT、教育、国防和太空研究以及非营利部门等多个行业合作。在 [Twitter][9]、[Facebook][10]、[Google +][11] 上关注他。通过[RSS/XML 订阅][5]获取最新的系统管理、Linux/Unix 以及开源主题教程。

--------------------------------------------------------------------------------

via: https://www.cyberciti.biz/faq/how-to-reload-vimrc-file-without-restarting-vim-on-linux-unix/

作者:[Vivek Gite][a]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

[a]:https://www.cyberciti.biz/
[1]:https://www.cyberciti.biz/media/new/faq/2018/02/How-to-reload-.vimrc-file-without-restarting-vim.jpg
[2]:https://twitter.com/nixcraft
[3]:https://facebook.com/nixcraft
[4]:https://plus.google.com/+CybercitiBiz
[5]:https://www.cyberciti.biz/atom/atom.xml

总结

以上所述是小编给大家介绍的在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
[原创]网络复制内容时常用的正则+editplus
Nov 30 Javascript
jQuery对象和DOM对象的相互转化实现代码
Mar 02 Javascript
jQuery对象与DOM对象之间的转换方法
Apr 15 Javascript
js 复制或插入Html的实现方法小结
May 19 Javascript
js创建对象的区别示例介绍
Jul 24 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
Jan 13 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
微信小程序页面开发注意事项整理
May 18 Javascript
angular中的cookie读写方法
Aug 02 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
Vuex的基本概念、项目搭建以及入坑点
Nov 04 Javascript
用p5.js制作烟花特效的示例代码
Mar 21 #Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 #Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
Mar 20 #Javascript
webpack本地开发环境无法用IP访问的解决方法
Mar 20 #Javascript
解决vue-router中的query动态传参问题
Mar 20 #Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 #Javascript
手写Node静态资源服务器的实现方法
Mar 20 #Javascript
You might like
PHP读取文件的常见几种方法
2016/11/03 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
JavaScript 解析Json字符串的性能比较分析代码
2009/12/16 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
vue实现长图垂直居上 vue实现短图垂直居中
2017/10/18 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
[01:32:22]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第一场 2月5日
2021/03/11 DOTA
python实现数组插入新元素的方法
2015/05/22 Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
python实现DES加密解密方法实例详解
2015/06/30 Python
Python 递归函数详解及实例
2016/12/27 Python
单利模式及python实现方式详解
2018/03/20 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
医学院学生求职简历的自我评价
2013/10/24 职场文书
《搭石》教学反思
2014/04/07 职场文书
2014年三万活动总结
2014/04/26 职场文书
家具商场的活动方案
2014/08/16 职场文书
创先争优公开承诺书
2014/08/30 职场文书
个人委托书范本
2014/09/13 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
离婚协议书范本
2015/01/26 职场文书
绿色环保倡议书
2015/04/28 职场文书
爱国主义主题班会
2015/08/14 职场文书
Redis RDB技术底层原理详解
2021/09/04 Redis