在 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小游戏实现代码
Aug 19 Javascript
对之前写的jquery分页做下升级
Jun 19 Javascript
在JavaScript中使用对数Math.log()方法的教程
Jun 15 Javascript
对JavaScript客户端应用编程的一些建议
Jun 24 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
Nov 03 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
Nov 21 Javascript
用react-redux实现react组件之间数据共享的方法
Jun 08 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
微信小程序HTTP接口请求封装代码实例
Sep 05 Javascript
javascript执行上下文、变量对象实例分析
Apr 25 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
Jul 20 Javascript
vscode中使用npm安装babel的方法
Aug 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关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
js中for in的用法示例解析
2013/12/25 Javascript
JS字符串截取函数实例
2013/12/27 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
js实现每日签到功能
2018/11/29 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
Python科学计算之Pandas详解
2017/01/15 Python
python之Character string(实例讲解)
2017/09/25 Python
Python处理session的方法整理
2019/08/29 Python
python列表生成器迭代器实例解析
2019/12/19 Python
python反扒机制的5种解决方法
2021/02/06 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
3个CCIE对一个工程师的面试题
2012/05/06 面试题
力学专业毕业生自荐信
2013/11/17 职场文书
志愿者活动总结报告
2014/06/27 职场文书
办公用品质量保证书
2015/05/11 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android