如何使用与默认 .vimrc 不同的 .vimrc

Sac*_*ach 3 vim

我与同事共享实验室服务器,但想要单独的 .vimrc 文件。如何得到它?

$ cat .vimrc
color desert

$ pwd
/fvs101/home
Run Code Online (Sandbox Code Playgroud)

我们有单独的工作目录,所以我的目录位于 /fvs101/home/sp 内

在 /fvs101/home 有一个通用的 .vimrc 文件。我想玩 vim,但不想碰这个 /fvs101/home/.vimrc 文件。我想创建自己的 .vimrc 文件。

++++++++++my vimrc file
[sp]$ cat .vimrc
noremap - ddp
noremap _ dd2kp
inoremap <c-u> <esc>lviwU<esc>i
nnoremap <c-u> <esc>viwU<esc>
let mapleader = "-"
let maplocalleader = "\\"
nnoremap <leader>ev :vsplit $MYVIMRC<cr>
nnoremap <leader>sv :source $MYVIMRC<cr>
iabbrev ssig -- <cr>Sachin Pawar<cr>sachin.sp.pawar@oracle.com
vnoremap <leader>' vi<esc>`<<esc>i'<esc>`><esc>i'<esc>
nnoremap H 0
nnoremap L $
inoremap jk <esc>
inoremap <esc> <nop>
augroup filetype_js
    autocmd!
    autocmd FileType javascript nnoremap <buffer> <localleader>c I//<esc>
augroup END
augroup filetype_python
    autocmd!
    autocmd FileType python     nnoremap <buffer> <localleader>c I#<esc>
augroup END
augroup filetype_sql
    autocmd!
    autocmd FileType sql     nnoremap <buffer> <localleader>c I--esc>
augroup END
augroup filetype_shell
    autocmd!
    autocmd FileType shell     nnoremap <buffer> <localleader>c I#esc>
augroup END
augroup filetype_html
    autocmd!
    autocmd FileType html nnoremap <buffer> <localleader>f Vatzf
augroup END
++++++++++
Run Code Online (Sandbox Code Playgroud)

如果我使用单独的 .vimrc 文件,我将无法看到某些映射的映射,例如

inoremap jk

为什么会发生这种情况以及如何避免这种情况。

为了使用我自己的 .vimrc 文件,我创建了一个单独的别名。

别名 vi='vim -u /fvs101/home/sp/.vimrc'

Stu*_*ick 5

创建一个不同的 .vimrc (正如您在评论中所述/refresh/oracle/spawar/.vimrc)并为您自己的用户创建一个别名

myvi='vim -Nu /refresh/oracle/spawar/.vimrc'
Run Code Online (Sandbox Code Playgroud)

请注意,如果没有该-N标志,使用该-u标志将以兼容模式启动 vim,从而导致各种令人讨厌的、意外的副作用,例如映射无法完全工作。

我通过查看该-u标志的实际用途并从那里进行跟踪来发现这一点。下面有帮助的链接。

u 标志
N 标志