FAQ - minsuk-jang/teamproject GitHub Wiki
์ฃผ์: :'CheckHealth' ๋ FAQ์์ ๋ง์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ํด๊ฒฐํฉ๋๋ค. ์๋ ํด ๋ณด์ธ์ !
Something broke after upgrading Neovim? //Neovim์ ์ ๊ทธ๋ ์ด๋ ํ ํ ๋ฌด์ธ๊ฐ๊ฐ ๊ณ ์ฅ๋ฌ์ต๋๊น?
See Following-HEAD, which documents breaking changes. //Following-HEAD์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฐธ์กฐํ์ธ์
The default config file location is: //๊ธฐ๋ณธ์ ์ธ config ํ์ผ ์์น๋ :
~/.config/nvim/init.vim
You can copy your existing vimrc there, or symlink to it. :help nvim-from-vim
/๊ธฐ์กด vimrc๋ฅผ ๊ฑฐ๊ธฐ์์ ๋ณต์ฌ ๋ฐ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ณต์ฌ ํ ์ ์์ต๋๋ค.
Can I use Ruby-based Vim plugins (e.g. LustyExplorer)?
//Ruby ๊ธฐ๋ฐ Vim ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉ ํ ์ ์์ต๋๊น?
Yes, starting with Neovim 0.1.5 PR #4980 the legacy Vim if_ruby
interface is supported.
/์ฌ์ฉ ๊ฐ๋ฅ ํฉ๋๋ค, Neovim 0.1.5๋ถํฐ ---- ๋ ๊ฑฐ์ Vim 'if_ruby' ์ธํฐํ์ด์ค๊ฐ ์ง์๋ฉ๋๋ค.
Can I use Lua-based Vim plugins (e.g. neocomplete)?
//Lua ๊ธฐ๋ฐ Vim ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉ ํ ์ ์์ต๋๊น? Yes, starting with Neovim 0.2 PR #4411 Lua is built-in. /์ฌ์ฉ ๊ฐ๋ฅ ํฉ๋๋ค, Neovim 0.2๋ถํฐ ์ง์ ๋ฉ๋๋ค.
How can I use true colors in the terminal? //ํฐ๋ฏธ๋์ ํธ๋ฃจ ์์์ ์ด๋ป๊ฒ ์ฌ์ฉ ํ๋์?
Add this to your init.vim
: //๋น์ ์ 'init.vim' ์ ์ถ๊ฐํ์ธ์
set termguicolors
See this gist for more information about true colors, such as what terminals support it. //ํธ๋ฃจ ์์(์: ํฐ๋ฏธ๋์ด ์ง์ํ๋ ์์) ์ ๋ํ ์์ธํ ๋ด์ฉ์ ----๋ฅผ ์ฐธ์กฐํ์ธ์
How can I change the cursor shape in the terminal? /ํฐ๋ฏธ๋์ ์ปค์ ๋ชจ์์ ์ด๋ป๊ฒ ๋ฐ๊พธ๋์?
- For Nvim 0.1.7 or older: see the note about
NVIM_TUI_ENABLE_CURSOR_SHAPE
inman nvim
. //Nvim 0.1.7 or ๊ตฌ ๋ฒ์ :NVIM_TUI_ENABLE_CURSOR_SHAPE
inman nvim
์ ์ฐธ์กฐ - For Nvim 0.2 or newer: cursor styling is controlled by the
guicursor
option. //Nvim 0.2 or ์ ๋ฒ์ :- To disable cursor styling, see
:help 'guicursor'
. //์ปค์ ์คํ์ผ์ ๋ถ๊ฐ๋ฅํ๊ฒ ํ๋ ค๋ฉด , help 'guicursor' ๋ฅผ ๋ณด์ธ์. - If you want a non-blinking cursor, use
blinkon0
. See:help 'guicursor'
. //๊น๋นก์ด์ง ์๋ ์ปค์๋ฅผ ์ํ๋ค๋ฉดblinkon0
. See:help 'guicursor'
๋ฅผ ์ฌ์ฉํ์ธ์. -
guicursor
is enabled by default only if Nvim is certain it won't cause problems. If you know that cursor shaping works on your terminal, setguicursor
in your init.vim. //guicursor
๋ Nvim์ด ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์์ ๊ฒ์ด๋ผ๊ณ ํ์ ํ๋ ๊ฒฝ์ฐ์๋ง _default_์ ์ํด ํ์ฑํ ๋ฉ๋๋ค. ์ปค์ ๋ชจ์์ด ํฐ๋ฏธ๋์์ ์๋ํ๊ณ ์๋ค๋ฉด, init.vim์guicursor
๋ฅผ ์ค์ ํ์ธ์:set guicursor=n-v-c:block-Cursor/lCursor-blinkon0,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor
- To disable cursor styling, see
- The Vim terminal options
t_SI
andt_EI
are ignored, like all othert_XX
options. //Vim ํฐ๋ฏธ๋ ์ต์ t_SI
์t_EI
๋ ๋ค๋ฅธ ๋ชจ๋ 't_XX' ์ต์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฌด์๋ฉ๋๋ค. - Old versions of libvte (gnome-terminal, roxterm, terminator, ...) do not support cursor style control codes. #2537 //์ด์ ๋ฒ์ ์ libvte๋ ์ปค์ ์คํ์ผ ์ ์ด ์ฝ๋๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
-
Note: some plugins like "ctrlp" override
guicursor
even when it is empty. To totally disable cursor updates, you can setVTE_VERSION="100"
. //์ฐธ์กฐ: "ctrlp"์ ๊ฐ์ ์ผ๋ถ ํ๋ฌ๊ทธ์ธ์ ๋น์ด ์๋ ๊ฒฝ์ฐ์๋ 'guicursor'๋ฅผ ๋ฎ์ด ์๋๋ค. ์ปค์ ์ ๋ฐ์ดํธ๋ฅผ ์์ ํ ๋นํ์ฑํํ๋ ค๋ฉด 'VTE_VERSION="100"์ ์ค์ ํ ์ ์์ต๋๋ค.- But it would be better to fix the plugin: it should not modify
guicursor
if it is empty. //๊ทธ๋ฌ๋ ํ๋ฌ๊ทธ์ธ์ ์์ ํ๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค:guicursor
์ด ๊ณต๋ฐฑ์ด๋ผ๋ฉด ์์ ํด์๋ ์๋ฉ๋๋ค.
- But it would be better to fix the plugin: it should not modify
Cursor style isn't restored after exiting Nvim /Nvim์ ์ข ๋ฃ ํ ํ์ ์ปค์ ์คํ์ผ์ด ๋ณต์๋์ง ์์ต๋๋ค.
Terminals do not provide a way to query the cursor style. Use a VimLeave
autocommand to set the cursor style when Nvim exits:
//ํฐ๋ฏธ๋์ ์ปค์ ์คํ์ผ์ ์ฟผ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ง ์์ต๋๋ค. Nvim์ด ์ข
๋ฃ ํ ๋ 'VimLeave' ์๋ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ปค์ ์คํ์ผ์ ์ค์ ํ์ธ์:
au VimLeave * set guicursor=a:block-blinkon0
Add this to your .tmux.config
: //๋น์ ์ .tmux.config
์ ์ถ๊ฐํ์ธ์
set -g -a terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q'
See #3165 for discussion.
Yes, starting with the 0.2
release.
//๊ฐ๋ฅํฉ๋๋ค . -----๋ถํฐ ์ง์๋ฉ๋๋ค.
See the Install page.
//---- ํ์ด์ง๋ฅผ ํ์ธํ์ธ์
How to use the Windows clipboard from WSL? //WsL๋ถํฐ ์๋์ฐ ํด๋ฆฝ๋ณด๋๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์?
sudo ln -s /mnt/d/Neovim/bin/win32yank.exe /usr/bin/win32yank
See #6227. //---- ํ์ธํ์ธ์
What happened to --remote and friends? // -remote ์ ๊ด๋ จ๋ ๊ฒ๋ค์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ์ต๋๊น?
The code for that family of command-line arguments was removed. It may eventually be reimplemented using the Neovim API, but until then neovim-remote
can be used instead.
//ํด๋น ๋ช
๋ น ํ ์ธ์ ๋จ์ ์ฝ๋๊ฐ ์ ๊ฑฐ ๋์์ต๋๋ค. NeovimAPI๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ๊ตฌํ ๋ ์ ์์ง๋ง, ๊ทธ๋๊น์ง ----๋ฅผ ๋์ ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
See #1750 for more information.
//๋ ๋ง์ ์ ๋ณด๋ -----๋ฅผ ํ์ธํ์ธ์
Make sure that Neovim can find its runtime. // ----- ์์ ํ์ธํ์ธ์.
Copying to X11 primary selection with the mouse doesn't work //๋ง์ฐ์ค๋ก X11 ๊ธฐ๋ณธ ์ ํ์ ๋ณต์ฌ ํ ์ ์์ต๋๋ค.
clipboard=autoselect
is not implemented yet. As a workaround, use the mapping
// clipboard=autoselect
์ ์์ง ๊ตฌํ๋์ง ์์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด, ๋งคํ์ ์ฌ์ฉํ์ธ์.
vnoremap "*ygv
This was fixed in Neovim 0.2.// Neovim 0.2์์ ์์ ๋์์ต๋๋ค. If you are running Neovim 0.1.7 or older, adjust your terminal's "kbs" (key_backspace) terminfo entry: //๋ง์ฝ ๋น์ ์ด Neovim 0.1.7 or ๊ตฌ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด, ํฐ๋ฏธ๋์ "kbs" terminfo ํญ๋ชฉ:
infocmp $TERM | sed 's/kbs=^[hH]/kbs=\\177/' > $TERM.ti
tic $TERM.ti
(Feel free to delete the temporary *.ti
file created after running the above commands).
//์์ ๋ช
๋ น์ ์คํ ํ ํ, ์์ฑ๋ *.ti
์์ ํ์ผ์ ์์ ๋กญ๊ฒ ์ญ์ ํ์ธ์.
<Home>
or some other "special" key doesn't work //ํ ๋๋ ๋ค๋ฅธ ํน์ ํ ํค๋ค์ด ์๋ํ์ง์์ต๋๋ค.
Make sure $TERM
is set correctly. // ----- ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์๋์ง ํ์ธ ํ์ธ์.
- For screen or tmux,
TERM
should bescreen-256color
(Notxterm-256color
) //ํ๋ฉด ๋๋ tmux, ---- ์ ----- ์ด์ฌ์ผ ํฉ๋๋ค. - In other cases if "256" does not appear in the string it's probably wrong. Try
TERM=xterm-256color
. //๋ ๋ค๋ฅธ ๊ฒฝ์ฐ, ๋ฌธ์์ด์ "256"์ด ํ์๋์ง ์์ผ๋ฉด ์๋ง ํ๋ฆฐ ๊ฒ์ ๋๋ค. ---- ์๋ํ์ธ์.
//-- ์ ----- ๊ฐ ์ํธ์์ฉํ๋ ํ๋ก์ธ์ค์์ ์ค์๋์ ํฉ๋๋ค.
Interactive commands are supported by :terminal
in Neovim. But :!
and system()
do not support interactive commands, primarily because Neovim UIs use stdio for msgpack communication, but also for performance, reliability, and consistency across platforms (see :help gui-pty
).
//์ํธ์์ฉ ๋ช
๋ น์ Neovim์ ํฐ๋ฏธ๋์ ์ํด ์ง์๋ฉ๋๋ค. ๊ทธ๋ฌ๋ --์ ---- ๊ฐ์ ์ํธ์์ฉ ๋ช
๋ น์ ์ง์ํ์ง ์์ต๋๋ค. ์ฃผ๋ก Neovim UI๊ฐ msgpack ํต์ ์ ์ํด stdio๋ฅผ ์ฌ์ฉ ํ๊ธฐ ๋๋ฌธ์ด๋ฉฐ ํ๋ซํผ ์ ๋ฐ์ ์ฑ๋ฅ, ์์ ์ฑ ๋ฐ ์ผ๊ด์ฑ ๋๋ฌธ์ ์ฌ์ฉ๋ฉ๋๋ค
-----์ -----๋ฅผ ํ์ธํ์ธ์.
See also #1496
Run :CheckHealth
(available in 0.1.5) inside Neovim for automatic diagnosis.
/์๋์ง๋จ์ ์ํ Neovim์ ์๋ -------์ ์คํํด๋ณด์ธ์
Additional hints: //์ถ๊ฐ์ ์ธ ํํธ
- If you are using pyenv or virtualenv for the
neovim
python module, you must /๋น์ ์ด --๋ฅผ ์ํด pyenv ๋๋ virtualenv๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด, ๋น์ ์ ๋ฐ๋์ ------๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค setg:python_host_prog
and/org:python3_host_prog
to the virtualenv's interpreter path. - Read
:help provider-python
. //---- ์ฝ์ด๋ณด์ธ์ - Be sure you have the latest version of the
neovim
Python module. /Neovim Python๋ชจ๋์ ์ต์ ๋ฒ์ ์ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํ์ธ์
pip install --upgrade neovim
pip2 install --upgrade neovim
pip3 install --upgrade neovim
-
nvim -u NORC
๋ก ์๋ํด๋ณด๊ณinit.vim
์ด ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์๋์ง ํ์ธํ์ญ์์ค.E117 : Unknown function
์ ์ป์ผ๋ฉด, Neovim์ ๋ฐํ์์ ์ฐพ์ ์ ์์ต๋๋ค.๋ฅผ ์๋ฏธํฉ๋๋ค.
์ด๊ฒ์ : help nvim
์ด `E149 : Sorry, nvim์ ์ํ ๋์ ์์' ์ ๋ณด์ฌ์ค ๊ฒฝ์ฐ์ ํด๋นํฉ๋๋ค.
$ VIM
,$ VIMRUNTIME
๊ฐ : echo $ VIM
, : echo $ VIMRUNTIME
๋ฅผ ๊ฒ์ฌํ์ฌ
Neovim์ ๋ฐํ์ (Vim๊ณผ ๋ฐ๋)์ ๊ฐ๋ฆฌํค๋์ง ํ์ธํ์ญ์์ค.
์ด๊ฒ์/ usr / share / nvim
๊ณผ ๊ฐ์ ๊ฒ์ ์ ๊ณตํด์ผํฉ๋๋ค.
/ usr / share / nvim / runtime
๋๋ ํ ๋ฆฌ์ ์์ต๋๋ค.
๋ํ ์์$ VIMRUNTIME
์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจํ๊ณ ์๋ runtimepath (: set runtimepath? ')๋ฅผ ์ฐ์ฐํ ๋ฎ์ด ์ฐ์ง ์๋๋ก ํ์ญ์์ค (
: help'runtimepath '`์ฐธ๊ณ ).
์ผ๋ถ ์ค๋๋ / ๋ถํ์ํ ์ต์
์ด Neovim์์ ์ ๊ฑฐ๋์์ต๋๋ค.
์ ์ฒด ๋ชฉ๋ก์ : help nvim-features-removed
๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
nvim
์ ์ต์ ํ ๋ ๋น๋๋ฅผ ์คํํ๊ณ ์๋์ง ํ์ธํ์ญ์์ค.
: CheckHealth nvim
์ ์ด๋ฌํ "๋น๋ ์ ํ" ์ค ํ๋๋ฅผ ๋ณด๊ณ ํด์ผ ํฉ๋๋ค :
Build type: RelWithDebInfo
Build type: MinSizeRel
Build type: Release
Build type : Debug
๋ฅผ๋ณด๊ณ ์์ค ์์ Neovim์ ๋น๋ํ๋ ๊ฒฝ์ฐ
Building Neovim # optimized-builds๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
ํ์ฌ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ง ๋ณด์ ๋ด๋น์์๊ฒ ์๋ ค์ฃผ์ญ์์ค.
์
ธ์์TERM = xterm-256color nvim
์ ์คํํ์ญ์์ค.
์์์ด ์ฌ๋ฐ๋ฅด๊ฒ ํ์๋๋ฉด ์ฌ์ฉ์ ํ๋กํ์ผ (๋ณดํต~ / .profile
)์ TERM
๊ฐ์ ๋ด๋ณด๋
๋๋ค.
export TERM=xterm-256color
tmux
๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด ์ด๊ฒ์tmux.conf
์ ์ถ๊ฐํ์ญ์์ค :
set -g default-terminal "screen-256color"
์ด๋คtmux
์ฌ์ฉ์๋ ๋์ ๋ค์์ ์ฌ์ฉํด์ผ ํ ์๋ ์์ต๋๋ค :
set -g default-terminal "screen-256color-bce"
GNU screen
์ ๊ฒฝ์ฐ configure your '.screenrc' ๋ฅผ ์ค์ ํ์ญ์์ค :
term screen-256color
**์ฐธ๊ณ : ** Neovim์t_Co
์ ๋ค๋ฅธ ํฐ๋ฏธ๋ ์ฝ๋๋ฅผ ๋ฌด์ํฉ๋๋ค.
๋ช ๋ น ํ์์ ๋ค์์ ์คํํ์ญ์์ค.
locale | grep -E '(LANG|LC_CTYPE|LC_ALL)=(.*\.)?(UTF|utf)-?8'
๊ฒฐ๊ณผ๊ฐ ์์ผ๋ฉด UTF-8 ๋ก์ผ์ ์ฌ์ฉํ์ง ์์ ์ ์์ต๋๋ค. ๋ค์ ๋ฌธ์ ๋ฅผ ์ฐธ์กฐํ์ญ์์ค. #1601 #1858 #2386
์ด๊ฒ์tmux
/screen
์์ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์
๋๋ค.
(tmux/#131).
ํด๋น ํ์์์์ ๋ฎ์ ๊ฐ (10-20ms)์ผ๋ก ์กฐ์ ํด์ผ ํฉ๋๋ค.
.tmux.conf
:
set -g escape-time 10
.screenrc
:
maptimeout 10
๊ทธ๊ฒ์ '* v * -N -u NONE`์ ์๋ํฉ๋๋ค.
- ESC * ํ์ ํค๋ฅผ ๋น ๋ฅด๊ฒ ๋๋ฅด๋ฉด Vim์ ESC๋ฅผ ALT (๋ฉํ) ๋์ ESC๋ก ํด์ํฉ๋๋ค. ์ปค์๋ฅผ ์์ธํ ๊ด์ฐฐํ์ง ์์ผ๋ฉด ์ง์ฐ์ ์ ์ ์์ต๋๋ค.
๋จ์ ์ Vim์ด ALT (META) ํค ์ฝ๋๋ฅผ ์ดํดํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์, ์๋ฅผ ๋ค์ด nnoremap <M-a>'๊ฐ ์๋ํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค. ALT (META) ํค - ์ฝ๋๋ ํญ์ Nvim์์ ์๋ํฉ๋๋ค. ๋น์์
: help xterm-cursor-keys`๋ ์ฐธ์กฐํ์ญ์์ค.
helptags ์์ฑ ์คํจ Generate helptags failed '๋ก ์ฌ์ค์น๊ฐ ์คํจํ ๊ฒฝ์ฐ ์ด์ ์ ์ค์น๋ ๋ฐํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํ์ญ์์ค. (๋น๋ ์ค์
CMAKE_INSTALL_PREFIX`๊ฐ ์ค์ ๋์ด ์์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ / usr / local / share / nvim์
๋๋ค) :
# rm -r /usr/local/share/nvim
`make distclean && make '๋ฅผ ์คํํ์ฌ ์คํจํ ๋น๋ ํ๊ฒฝ์ ๋ฐฐ์ ํ์ญ์์ค.
ํ๋ก์ ๋ฌธ์ # 2482
์ปดํจํฐ๊ฐ ๋คํธ์ํฌ ํ๋ก์ ๋ค์ ์๊ณ ์ด ์ค๋ฅ๊ฐ ํ์๋๋ ๊ฒฝ์ฐ :
์ค๋ฅ: ์ข ์์ฑ ์ค์น ์คํจ: https://rocks.moonscript.org/penlight-1.3.2-2.rockspec ํ์ผ ๊ฐ์ ธ ์ค๊ธฐ ์ค ์ค๋ฅ ๋ฐ์: ๋ค์ด๋ก๋ ์คํจ http://stevedonovan.github.io/files/penlight-1.3.2-core.zip
์ด๋ https_proxy
ํ๊ฒฝ ๋ณ์ (cURL์ ๊ฒฝ์ฐ)๋ฅผ ์ค์ ํ์ฌ ์์ ํ ์ ์์ต๋๋ค.
CMake ์บ์๋ ์ค์ ์ ๋น๋ํ๊ธฐ ๋๋ฌธ์ local.mk
์ ์์ ํ ํ์ rm -r build && make
๋ฅผ ์คํํด์ผ ํ ์๋ ์์ต๋๋ค.
configure_file ํ์ผ ๊ตฌ์ฑ ๋ฌธ์
์๋ง๋ ๊ถํ ๋ฌธ์ ์ผ ๊ฒ์
๋๋ค. ๋ฃจํธ ์ฌ์ฉ์๋ก make
๋ฅผ ์คํ ํ ๋ค์ ๋์ค์ ๊ถํ์ด ์๋ make
๋ฅผ ์คํํ๋ฉด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ด๋ฅผ ์์ ํ๋ ค๋ฉด rm -rf build
๋ฅผ ์คํํ๊ณ ๋ค์ ์๋ ํ์ญ์์ค.
`์ ์ ํ Lua ํต์ญ์๊ฐ ๋ฐ๊ฒฌ๋์ง ์์๋ค. '
์ด๊ฒ์ ๋ก์ปฌ LuaRocks ์ค์น๋ก ์ธํด ๋ฐ์ํ ์ ์์ต๋๋ค.
๊ตฌ์ถํ๊ธฐ ์ ์ unset
์ ํตํด LUA_PATH
์ LUA_CPATH
ํ๊ฒฝ ๋ณ์๋ฅผ ํด์ ํ์ญ์์ค.
๋น๋ ํ๋ก์ธ์ค์ ํ์ํ Lua ํจํค์ง๋ LuaRocks (CMake๊ฐ ์๋์ผ๋ก ํธ์ถ)์ ์ํด ์๋์ผ๋ก ์ค์น ๋์ด์ผ ํ์ง๋ง ๋๋ก๋ ์คํจํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ๋ค์ ์ค ํ๋๋ฅผ ์๋ฏธํฉ๋๋ค.
- LuaRocks ์๋ฒ๊ฐ ๋ค์ด๋์์ต๋๋ค.
-'unzip'ํ๋ก๊ทธ๋จ์ ์ฐพ์ ์ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ, LuaRocks๋
Warning : Manifest ๊ฒ์ ์คํจ : Manifest๋ก๋ ์คํจ : Manifest ํ์ผ ์ถ์ถ ์คํจ
์ ๊ฐ์ ๋ด์ฉ์ ๋ณด๊ณ ํฉ๋๋ค. -
CDPATH
ํ๊ฒฝ ๋ณ์๊ฐ ๋น๋๋ฅผ ๋ฐฉํดํ๊ณ ์์ผ๋ฏ๋กmake
๋ฅผ ์คํํ๊ธฐ ์ ์ ์ค์ ์ ํด์ ํด์ผ ํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ์ค๋ฅ๋ฅผ ํผํ๊ธฐ ์ํด, LuaRocks ๋ฏธ๋ฌ๋ ๋ค์ ๋ด์ฉ์ผ๋ก .deps / usr / etc / luarocks / config-5.1.lua
ํ์ผ์ ์์ฑํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค :
rocks_servers={
"http://luarocks.giga.puc-rio.br/"
}
๊ทธ ํ์ `make cmake '๋ฅผ ์คํํ์ญ์์ค.
์์ ๊ฐ์ด ์คํจํ๋ฉด ํญ์ ๋ค์ ํจํค์ง๋ฅผ ์๋์ผ๋ก ์ค์นํ ์ ์์ต๋๋ค.
- LPeg
- lua-MessagePack
-
busted (required for running tests, e.g.,
make test
)
์ด๋ฌํ ํจํค์ง ์ค ์ผ๋ถ๋ ๋ฐ๋์ ์ค์นํด์ผ ํ๋ ์์ฒด ์์กด์ฑ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ค์น ํ ๋ฒ์ ์ด ๋ฐ๋์ Neovim๊ณผ ์๋ํ๋๋ก ํ ์คํธ ๋์ง๋ ์์์ต๋๋ค.
- JSON์ ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌ ํ ์ โโ์์ต๋๋ค.
- JSON ์ฌ์์ด ๋ชจํธ ํฉ๋๋ค : http://seriot.ch/parsing_json.php
Lua๋ ๋งค์ฐ ์์ ์ธ์ด์ด์ง๋ง ํธ์ง๊ธฐ๋ฅผ ๊ตฌ์ฑํ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ง๋ค์ด์ง VimL๊ณผ ๊ฐ์ ์ธ์ด๋ฅผ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ์ ๊ณตํฉ๋๋ค. Python์ด๋ Ruby์ ๊ฐ์ ์ธ์ด๊ฐ ๋ฃจ์์ ๋นํด ๊ฐ๋ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๊ฑฐ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ์์ด์ง๋ง, Lua๋ฅผ VimL ๋ฐํ์์ผ๋ก ์ฌ์ฉํ์ฌ ์์ฒ ์ค์ C ์ค์ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก์ ์์๋ ์๋๋๋ค.
Lua์ ๋ํ ์ด ๊ธฐ์ฌ๋ ์ฐธ๊ณ ํ์ญ์์ค.
Lua์ VimL์ ๋ค๋ฅธ ์๋ฏธ๋ก ์ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ์ธ์ด์ด๋ค. Lua๋ VimL์ ๋ฐํ์์ผ๋ก ์ด๋ป๊ฒ ์ฌ์ฉ๋ ์ ์๋๊ฐ?
Lua๋ฅผ ์ฌ์ฉํ์ฌ Neovim์ ์๋ฒฝํ๊ฒ ์คํฌ๋ฆฝํธํ ํ ์ ์๊ฒ ํ๋ ๊ฒ์ด ์์ด๋์ด ์ ๋๋ค. Vim์ ๋ํ Lua ์ธํฐํ์ด์ค์ ๋ฌ๋ฆฌ, ์ด ์๋ก์ด ๊ตฌํ์ ๊ตฌ๋ฌธ ๊ท์น์ ์ ์ํ๊ธฐ ์ํ API์ ํจ๊ป VimL๊ณผ ๋์ผํ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์์ฑ ๋ ์ฝ๋๊ฐ ์๋ก์ด Lua API๋ฅผ ๋์์ผ๋ก VimL-to-Lua ๋ณํ๊ธฐ๊ฐ ๊ตฌํใ ๋ฉ๋๋ค.
๊ฐ์ฅ ๋น ๋ฅธ ์คํฌ๋ฆฝํ ๋ฐํ์ โโLuaJIT๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค. ์ถ๊ฐ ์ธ์ด๋ฅผ ํ์ฑํ๋ฉด ์ฝ๊ฐ์ ์ค๋ฒ ํค๋๊ฐ ๋ฐ์ํ์ง๋ง Vimscript๊ฐ ๋๋ฌด ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ฐํ์ ์ฑ๋ฅ ํฅ์๊ณผ ๋น๊ตํ ๋ ์ค์ํ์ง ์์ต๋๋ค. ํ๋ฌ๊ทธ์ธ์ด ๋ ๋นจ๋ฆฌ ์คํ๋ ์๋ ์์ต๋๋ค.
** ์
๋ฐ์ดํธ (2016) : ** PR # 243์ VimL-to-Lua ๋ฒ์ญ๊ธฐ๋ฅผ ๊ตฌํ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๊ธฐ์ ์ ์ธ ๊ด์ฌ์ ์ํด ๋ฌด๊ธฐํ ์ฐจ๋จ ๋ฉ๋๋ค.
๊ทธ ํ๋ณด๋ฌผ์ ๋๋ถ๋ถ์ ์ฌ์ฌ์ฉ ๋ ๊ฒ์
๋๋ค. (typval_T
/vim_to_object
refactor์ `eval. c 'refactor).
Vimscript๋ฅผ ๋ฌดํ์ ์ง์ํ ๊ณํ์ ๋๊น? (# 1152)
Google์ ํ ์คํธ ํธ์ง ์์ ์ ์ํ ๊ฐ์น์๋ DSL์ธ Vimscript๋ฅผ ์ฌ์ฉ ์ค์ง ํ ์ด๋ ํ ์ด์ ๋ ๊ธฐ๋ํ์ง ์์ต๋๋ค.
Vimscript ํธํ์ฑ์ ์ ์งํ๋ ๊ฒ์ ๊ธฐ์กด Vim ํ๋ฌ๊ทธ์ธ์ ๋๋ ์ด์ก๋ณด๋ค ๋น์ฉ์ด ์ ๊ฒ ๋ญ๋๋ค.
Vimscript์์ Lua ๋ก์ ์ด์์ ์๋ฌด๊ฒ๋ ์ป์ง ๋ชปํฉ๋๋ค. Neovim์ ์ด๋ฏธ ์์ฒ ๊ฐ์ Vim ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉ ๋ ์์ ์ ํ์ฉํ๊ณ
- ์๋ก์ด ์ ํ์ ํ๋ฌ๊ทธ์ธ ๋ฐ ํตํฉ์ ๊ฐ๋ฅํ๊ฒํ๊ธฐ ์ํด Vim * ์ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค.