我的问题是 6 个月前的问题的衍生问题,因此要了解更多详细信息并了解我如何安装 Vim Plug,请查看这里。
目前我想添加这个扩展。
https://github.com/mattn/emmet-vim
这是我的.vimrc
文件。
1
2 syntax on
3 map <F5> :source ~/.vimrc<CR>
4
5 set background=light " set background = set bg
6
7 " colorscheme desert
8 colorscheme elflord
9 " colorscheme slate
10 " colorscheme pablo
11 " colorscheme koehler
12 " colorscheme murphy
13 " colorscheme industry
14 " colorscheme torte
15 " colorscheme default
16 " colorscheme morning
17 " colorscheme ron
18 "
19 set background=dark " Setting up background=dark, makes text lighter
20 "
21 "
22 "
23 set nocompatible " Set compatibility to Vim only
24 set wildmenu " Enable Vim's builtin auto completion engine
25 set ignorecase " By default searching in Vin using / command is case-sensitive.
26 " Use 'set ignorecase' to set searching in Vim case insensitive.
27 " Use 'set smartcase' to make search case insensitive if you type the search pattern using lower case only.
28 "
29 set number " Show line numbers. Opposite is set nonumber.
30 "
31 set shiftwidth=3 " Set tabulator size to 4
32 set tabstop=3 " Set tabulator size to 4
33 set softtabstop=3 " Set tabulator size to 4
34 "
35 set wrap " Automatically wrap text that extends beyond the screen length
36 "
37 set laststatus=2 " Show status bar
38 "
39 set encoding=utf-8 " Force encoding
40 set list " Shows hidden characters
41 set nolist " Hide invisible characters
42 "
43 "
44 "
45 " Call the .vimrc.plug file
46 if filereadable(expand("~/.vimrc.plug"))
47 source /home/michal/.vimrc.plug
48 endif
49
这是我的.vimrc.plug
文件:
1 " Plugins will be downloaded under the specified directory.
2 call plug#begin('~/.vim/plugged')
3
4 " Fugitive Vim Github Wrapper
5 Plug 'tpope/vim-fugitive'
6 " Emmet Vim
7 Plug 'mattn/emmet-vim'
8
9 call plug#end()
这两个文件都位于我的用户目录中/home/michal/
,如下所示:
michal@ubuntu:~$ ls -lah /home/michal/.vim*
-rw------- 1 michal michal 20K Jun 21 23:23 /home/michal/.viminfo
-rw-rw-r-- 1 michal michal 1.7K Jun 21 23:12 /home/michal/.vimrc
-rw-rw-r-- 1 michal michal 203 Jun 21 23:09 /home/michal/.vimrc.plug
-rw-rw-r-- 1 michal michal 110 Dec 14 2022 /home/michal/.vimrc.plug.bak
-rw-r--r-- 1 root root 12K Jun 21 23:53 /home/michal/.vimrc.plug.swp
:PlugInstall
当我以用户身份运行 Vim 时执行命令时michal
,一切正常。
但是当我使用打开 Vimsudo vim
然后尝试运行时:PlugInstall
,出现E492: Not an editor command: PlugInstall
错误。
这是为什么?
我使用 Vim 95/100 次sudo vim filename
,因此我需要使用 Vim Plug 安装的所有插件才能在 sudo 模式下工作。
答案1
而不是sudo vim
将这两行放入您的~/.bashrc
(或 shell 的启动文件)中:
export EDITOR=$(type -p vim)
export VISUAL=$(type -p vim)
然后你可以sudoedit filename
,这将:
- 验证用户身份。
- 作为
root
(UID 0),创建文件的临时副本。 - 作为
$USER
,使用$VISUAL
或$EDITOR
编辑临时副本。 - 如果文件被更改,如
root
,则将临时文件复制回来。
这将允许您使用您的vim
自定义设置,而不必担心将它们强加于root
.
读man sudoedit
。