在 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 相关文章推荐
IE8 原生JSON支持
Apr 13 Javascript
Prototype 工具函数 学习
Jul 23 Javascript
Javascript this指针
Jul 30 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
Jun 20 Javascript
setTimeout()与setInterval()方法区别介绍
Dec 24 Javascript
js图片预加载示例
Apr 30 Javascript
AngularJS中$watch和$timeout的使用示例
Sep 20 Javascript
JS解析url查询参数的简单代码
Aug 06 Javascript
微信小程序之页面跳转和参数传递的实现
Sep 29 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
Aug 22 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
Dec 27 Javascript
详解Vue的mixin策略
Nov 19 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常用代码大全(新手入门必备)
2010/06/29 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
初识ThinkPHP控制器
2016/04/07 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
2016/06/24 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
[45:44]完美世界DOTA2联赛PWL S2 FTD vs PXG 第一场 11.27
2020/12/01 DOTA
Python getopt模块处理命令行选项实例
2014/05/13 Python
python正则表达式re模块详细介绍
2014/05/29 Python
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
python 有效的括号的实现代码示例
2019/11/11 Python
python实现随机加减法生成器
2020/02/24 Python
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
大学生个人总结范文
2015/02/15 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书