"E492: 편집기 명령이 아님: PlugInstall"은 "sudo vim"인 경우에만 발생합니다.

"E492: 편집기 명령이 아님: PlugInstall"은 "sudo vim"인 경우에만 발생합니다.

내 질문은 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

:PlugInstallVim을 user 로 실행하는 동안 명령을 실행하면 michal모든 것이 잘 작동합니다.

하지만 를 사용하여 Vim을 열고 sudo vim실행하려고 하면 오류가 :PlugInstall발생합니다 .E492: Not an editor command: PlugInstall

왜 그런 겁니까?

저는 Vim을 95/100번 사용하므로 sudo vim filenamesudo 모드에서 작동하려면 Vim Plug를 사용하여 설치된 모든 플러그인이 필요합니다.

답변1

sudo vim다음 두 줄을 사용자 ~/.bashrc(또는 셸의 시작 파일) 에 넣는 대신 :

export EDITOR=$(type -p vim)
export VISUAL=$(type -p vim)

그러면 sudoedit filename다음과 같이 됩니다.

  1. 사용자 신원을 확인합니다.
  2. (UID 0) 으로 root파일의 임시 복사본이 생성됩니다.
  3. 로 임시 복사본을 $USER사용 $VISUAL하거나 편집합니다.$EDITOR
  4. 파일이 변경되면(예 root: 임시 파일이 다시 복사됩니다.)

vim이렇게 하면 에 적용하는 것에 대해 걱정할 필요 없이 사용자 정의 설정을 사용할 수 있습니다 root.

읽다 man sudoedit.

관련 정보