在 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 相关文章推荐
js调用AJAX时Get和post的乱码解决方法
Jun 04 Javascript
jQuery UI结合Ajax创建可定制的Web界面
Jun 22 Javascript
详解Angular2组件之间如何通信
Jun 22 Javascript
浅谈react前后端同构渲染
Sep 20 Javascript
基于Vue框架vux组件库实现上拉刷新功能
Nov 28 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
May 15 Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 Javascript
微信小程序表单验证WxValidate的使用
Nov 27 Javascript
Vue项目打包压缩的实现(让页面更快响应)
Mar 10 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
Nov 09 Javascript
对vue生命周期的深入理解
Dec 03 Vue.js
JavaScript 原型与原型链详情
Nov 02 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实现截取指定长度
2013/08/06 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
PHP实现文件下载详解
2014/11/27 PHP
Linux系统下PHP-FPM的安装和配置教程
2015/08/17 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
Javascript模板技术
2007/04/27 Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
jquery ajax 请求小技巧实例分析
2019/11/11 jQuery
vue实现评价星星功能
2020/06/30 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
用Python实现协同过滤的教程
2015/04/08 Python
在Django框架中编写Contact表单的教程
2015/07/17 Python
python 图像平移和旋转的实例
2019/01/10 Python
Django接收自定义http header过程详解
2019/08/23 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
环境建设实施方案
2014/03/14 职场文书
国庆宣传标语
2014/06/30 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android