如何在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件
创始人
2024-03-01 21:59:50
0

我是一位新的 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
  1. 使用 :wq 保存文件,并从 ~/.vimrc 窗口退出
  2. 输入下面任一命令重载 ~/.vimrc:so $MYVIMRC 或者 :source ~/.vimrc

How to reload .vimrc file without restarting vim

图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 中使用 键。因此上面的映射变成:

" Edit vimr configuration file
nnoremap ve :e $MYVIMRC
" Reload vimr configuration file
nnoremap vr :source $MYVIMRC

键默认映射成 \ 键。因此只要输入 \ 接着 ve 就能编辑文件。按下 \ 接着 vr 就能重载 ~/vimrc

这就完成了,你可以不用再重启 Vim 就能重新加载 .vimrc 了。

关于作者

作者是 nixCraft 的创建者,经验丰富的系统管理员,也是 Linux / Unix shell 脚本的培训师。他曾与全球客户以及IT、教育、国防和太空研究以及非营利部门等多个行业合作。在 [Twitter][9]、[Facebook][10]、[Google +][11] 上关注他。通过RSS/XML 订阅获取最新的系统管理、Linux/Unix 以及开源主题教程。


via: https://www.cyberciti.biz/faq/how-to-reload-vimrc-file-without-restarting-vim-on-linux-unix/

作者:Vivek Gite 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Vim

相关内容

不知道如何在OS X上在V...
在OS X上,在Vim终端之间复制可以使用Vim的剪贴板功能。以下...
2025-01-12 07:30:30
不支持对函数进行vsvim...
在VSCode中,VSCodeVim插件默认不支持对函数进行调用。...
2025-01-11 22:00:40
不移动光标,VIM 删除外...
在Vim中,可以使用以下命令删除外部/内部标签:删除外部标签:da...
2025-01-11 06:01:18
不要在vim中的逃逸时候向...
要在Vim中逃逸时向后退缩,而不使用映射,可以使用以下代码示例中的...
2025-01-11 04:31:25
不要通过请求Vimeo A...
使用Vimeo提供的嵌入代码来获取视频的缩略图图像,而不是通过请求...
2025-01-10 22:31:51
不要将当前选项应用于新打开...
在Vim中,可以通过设置set switchbuf=usetab来...
2025-01-10 19:31:46

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...