Vim 需要在 tmux 中 运行 时每次都获取 .vimrc
Vim requires .vimrc to be sourced every time when running in tmux
我对 .vimrc
文件做了几处更改,其中包括几个 vim-plug 插件、一些 syntax/coloring 选项和一些键映射。
然而,每当我打开一个新的 Vim 会话时,并不是所有这些都被应用(最显着的是着色和语法突出显示)。如果我 运行 :so ~/.vimrc
文件获取来源并且更改立即应用。很明显,我不想每次开始都这样做 vim.
为什么没有自动应用这些更改? (这是在完全重启和新的 terminal/vim 会话之后)。
更新
我发现这与 tmux 有关。当我直接从终端 运行 vim
时,会按预期应用 .vimrc
。如果我从 tmux
会话中 运行 vim
,那么我每次都必须手动获取文件。
有什么解决办法吗?
~/.vimrc
内容:
" PLUGINS - see vim-plug
call plug#begin()
Plug 'crusoexia/vim-monokai'
Plug 'pangloss/vim-javascript'
Plug 'crusoexia/vim-javascript-lib'
call plug#end()
" Enable Monokai colors
syntax on
colorscheme monokai
set t_Co=256
" Easy tab movement with keys 1|2
nmap 1 :tabp <enter>
nmap 2 :tabn <enter>
" Line Numbers
set number
" 2 space tabs
set tabstop=8 softtabstop=2 expandtab shiftwidth=2 smarttab
在我的例子中,tmux 覆盖了 TERM
值,直到 .vimrc
被获取。
运行 echo $TERM
在常规 shell 中给出 xterm-256color
,而 运行 在 tmux 中给出 screen
.
解决方案是显式导出所需的 TERM
值:
export TERM="xterm-256color"
我对 .vimrc
文件做了几处更改,其中包括几个 vim-plug 插件、一些 syntax/coloring 选项和一些键映射。
然而,每当我打开一个新的 Vim 会话时,并不是所有这些都被应用(最显着的是着色和语法突出显示)。如果我 运行 :so ~/.vimrc
文件获取来源并且更改立即应用。很明显,我不想每次开始都这样做 vim.
为什么没有自动应用这些更改? (这是在完全重启和新的 terminal/vim 会话之后)。
更新
我发现这与 tmux 有关。当我直接从终端 运行 vim
时,会按预期应用 .vimrc
。如果我从 tmux
会话中 运行 vim
,那么我每次都必须手动获取文件。
有什么解决办法吗?
~/.vimrc
内容:
" PLUGINS - see vim-plug
call plug#begin()
Plug 'crusoexia/vim-monokai'
Plug 'pangloss/vim-javascript'
Plug 'crusoexia/vim-javascript-lib'
call plug#end()
" Enable Monokai colors
syntax on
colorscheme monokai
set t_Co=256
" Easy tab movement with keys 1|2
nmap 1 :tabp <enter>
nmap 2 :tabn <enter>
" Line Numbers
set number
" 2 space tabs
set tabstop=8 softtabstop=2 expandtab shiftwidth=2 smarttab
在我的例子中,tmux 覆盖了 TERM
值,直到 .vimrc
被获取。
运行 echo $TERM
在常规 shell 中给出 xterm-256color
,而 运行 在 tmux 中给出 screen
.
解决方案是显式导出所需的 TERM
值:
export TERM="xterm-256color"