在 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 相关文章推荐
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
Feb 05 Javascript
EXT中xtype的含义分析
Jan 07 Javascript
extjs ColumnChart设置不同的颜色实现代码
May 17 Javascript
JavaScript中用字面量创建对象介绍
Dec 31 Javascript
jqGrid表格应用之新增与删除数据附源码下载
Dec 02 Javascript
Bootstrap框架下下拉框select搜索功能
Mar 26 Javascript
利用types增强vscode中js代码提示功能详解
Jul 07 Javascript
Vue下的国际化处理方法
Dec 18 Javascript
vue构建动态表单的方法示例
Sep 22 Javascript
laydate如何根据开始时间或者结束时间限制范围
Nov 15 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
Oct 27 Javascript
vue+echarts实现多条折线图
Mar 21 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+mysql事务rollback&amp;commit示例
2010/02/08 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
一个CSS+jQuery实现的放大缩小动画效果
2014/02/19 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
vue实现拖拽效果
2019/12/23 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
centos下更新Python版本的步骤
2013/02/12 Python
Python中使用logging模块打印log日志详解
2015/04/05 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
python使用matplotlib画饼状图
2018/09/25 Python
Python 支付整合开发包的实现
2019/01/23 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
日语专业推荐信
2013/11/12 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
出生公证书
2015/01/23 职场文书
2015暑假假期总结
2015/07/13 职场文书
八年级作文之我的母亲
2019/12/10 职场文书