在 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 相关文章推荐
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
15款优秀的jQuery导航菜单插件分享
Jul 19 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
Jul 03 Javascript
让AJAX不依赖后端接口实现方案
Dec 03 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
Jun 09 Javascript
JavaScript中继承用法实例分析
May 16 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
Vue-router 中hash模式和history模式的区别
Jul 24 Javascript
详解vue移动端项目的适配(以mint-ui为例)
Aug 17 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
Jun 26 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 Vue.js
用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程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
定义select的边框颜色
2008/04/28 Javascript
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
javascript定时保存表单数据的代码
2011/03/17 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
JavaScript中的return语句简单介绍
2015/12/07 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
解决Python传递中文参数的问题
2015/08/04 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
python实现简单图书管理系统
2019/11/22 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
python和JavaScript哪个容易上手
2020/06/23 Python
Python 中Operator模块的使用
2021/01/30 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
教师求职推荐信范文
2013/11/20 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书