在 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 高级篇之闭包、模拟类,继承(五)
Apr 07 Javascript
JS实现的一个简单的Autocomplete自动完成例子
Apr 16 Javascript
javascript去除空格方法小结
May 21 Javascript
JS实现可点击展开与关闭的左侧广告代码
Sep 02 Javascript
基于JavaScript实现动态创建表格和增加表格行数
Dec 20 Javascript
Webwork 实现文件上传下载代码详解
Feb 02 Javascript
ES6概念 ymbol.for()方法
Dec 25 Javascript
Bootstrap实现各种进度条样式详解
Apr 13 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
Mar 27 Javascript
JavaScript屏蔽Backspace键的实现代码
Nov 02 Javascript
Vue波纹按钮组件制作
Apr 30 Javascript
express 项目分层实践详解
Dec 10 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
咖啡的传说和历史
2021/03/03 新手入门
php中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
php curl请求信息和返回信息设置代码实例
2015/04/27 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
sublime text配置node.js调试(图文教程)
2017/11/23 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
vue自定义正在加载动画的例子
2019/11/14 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
python检测lvs real server状态
2014/01/22 Python
Python新手们容易犯的几个错误总结
2017/04/01 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
python pandas修改列属性的方法详解
2018/06/09 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
一行Python代码制作动态二维码的实现
2019/09/09 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
python str字符串转uuid实例
2020/03/03 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
机电专业体育教师求职信
2013/09/21 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
起诉状范本
2015/05/20 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
Python 实现定积分与二重定积分的操作
2021/05/26 Python
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers