Powerline: MacOS๋ฅผ Mojave๋กœ ์—…๋ฐ์ดํŠธ ํ•œ ๋‹ค์Œ vim์—์„œ powerline ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 09์›” 25์ผ  ยท  34์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: powerline/powerline

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜ :

Error detected while processing /Users/vvqboy/.vimrc:
line    8:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError
line    9:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'powerline_setup' is not defined
line   10:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'powerline_setup' is not defined
Traceback (most recent call last):
  File "<string>", line 4, in <module>
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError
An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
Vim: Caught deadly signal SEGV

Vim: Finished.
[1]    7428 segmentation fault  vi .vimrc
cvim macos serror in environment bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ํ•ด๊ฒฐ์ฑ…!!

1) ํ˜„์žฌ vim ๋ฒ„์ „์„ ํŒŒ์•…ํ•˜์‹ญ์‹œ์˜ค. Mine์€ homebrew๋กœ ์ปดํŒŒ์ผ๋˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ Apple์ด Mojave ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•ด ์žฌ ์ปดํŒŒ์ผ ํ•œ ๊ธฐ๋ณธ ์‹œ์Šคํ…œ ๋ฒ„์ „์ด์—ˆ์Šต๋‹ˆ๋‹ค (๋‚ ์งœ๋ณด๊ธฐ). ์ปดํŒŒ์ผ ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์ „ ์ง„์ˆ ์ด ์ •ํ™•ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ํ‹€๋ฆฌ๋ฉด ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค. vim --version ์‹คํ–‰ํ•˜๋ฉด [email protected] ์˜ํ•ด ์ปดํŒŒ์ผ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2) brew'd ๋ฒ„์ „์˜ python @ 2 ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  brew๋ฅผ ํ†ตํ•ด ํŒŒ์ด์ฌ์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค (์ž‘์„ฑ ๋‹น์‹œ ๊ธฐ๋ณธ์ ์œผ๋กœ 3.7.0์„ ์„ค์น˜ ํ•จ). ๊ทธ๋ƒฅ ๋†”๋’€์–ด์š” ์„ค์น˜๋˜์ง€ ์•Š์œผ๋ฉด brew python์œผ๋กœ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํฌ๋Ÿผ์„ ์ฝ์–ด๋ณด์‹ญ์‹œ์˜ค. @ ZyX-I ์–ด์ฉŒ๋ฉด ๋‹น์‹ ์ด ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋” ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

3) brew install python ํ›„ homebrew๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ brew install vim ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ vim์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ /usr/local/bin/vim --version ์‹คํ–‰ํ•˜๊ณ  python3 ์˜†์— '+'๊ธฐํ˜ธ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์…ธ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด /.vimrc๊ฐ€ /Library/Python/2.7/site-packages/powerline/powerline/bindings/vim/ ๋˜๋Š” ์ฐพ๊ณ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฝ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

.... ์ž‘๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค!

ํŽธ์ง‘ : ์ผ๋ถ€ ๋ฌธ๋ฒ•, ์ปคํ”ผ์—†์ด ์ผ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  34 ๋Œ“๊ธ€

๋‹ค์Œ๊ณผ ๊ฐ™์ด vimrc :

set rtp+=/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/bindings/vim

" These lines setup the environment to show graphics and colors correctly.
set nocompatible
set t_Co=256

let g:minBufExplForceSyntaxEnable = 1
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup

if ! has('gui_running')
   set ttimeoutlen=10
   augroup FastEscape
      autocmd!
      au InsertEnter * set timeoutlen=0
      au InsertLeave * set timeoutlen=1000
   augroup END
endif

set laststatus=2 " Always display the statusline in all windows
set guifont=Inconsolata\ for\ Powerline:h14
set noshowmode " Hide the default mode text (e.g. -- INSERT -- below the statusline)

set nu
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab

ํ•˜๋ ค๊ณ ํ•˜๋‹ค

pip install --upgrade --force-reinstall  --user powerline-status

Collecting powerline-status
  Downloading https://files.pythonhosted.org/packages/9c/30/8bd3c62642778af9ad813a526c6ff7dd2f98144d6580ad6fab94ca389265/powerline-status-2.7.tar.gz (233kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 235kB 69kB/s
Building wheels for collected packages: powerline-status
  Running setup.py bdist_wheel for powerline-status ... done
  Stored in directory: /Users/vvqboy/Library/Caches/pip/wheels/c4/81/6b/bb1f440b9999fcfda2a1ccdf7b57a886acb08ea3e9e794945d
Successfully built powerline-status
Installing collected packages: powerline-status
  Found existing installation: powerline-status 2.6
    Uninstalling powerline-status-2.6:
      Successfully uninstalled powerline-status-2.6
Successfully installed powerline-status-2.7

๊ทธ๋Ÿฐ ๋‹ค์Œ ์—ฌ์ „ํžˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Vim: Caught deadly signal SEGV
Error detected while processing /Users/vvqboy/.vimrc:Vim: Finished.

line    8:
Exception MemoryError: MemoryError() in <module 'threading' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.pyc'> ignored
[1]    1788 segmentation fault  vi .vimrc

ํŒŒ์ด์ฌ-๋ฒ„์ „
ํŒŒ์ด์ฌ 2.7.10

์—ฌ๊ธฐ์—๋„ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. brew๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ช‡ ๊ฐ€์ง€ ์ˆ˜์ •์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ (์‹ฌ๋ณผ ๋งํฌ ๋ฌธ์ œ ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค) ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋œ ๊ฒƒ ๊ฐ™๊ณ  ๋‚ด pyenv๋Š” ๊ดœ์ฐฎ์•„ ๋ณด์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋‚ด๊ฐ€ ๋‘ ๋ฐฐ๋กœ ํ™•์‹ ํ•˜๋Š” ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค (๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ Moajve ์—…๋ฐ์ดํŠธ ์ดํ›„์—๋„ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค).

An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
possible solutions.
Error detected while processing 
...
line  157:
Traceback (most recent call last):
  File "<string>", line 53, in <module>
  File "<string>", line 9, in powerline_troubleshoot
  File "/Users/.../Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/.../Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/.../Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/.../Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ _actual_ powerline.vim ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉด vim์ด ์ œ๋Œ€๋กœ๋กœ๋“œ๋˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ ์ „๋ ฅ์„ ๋„๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

/Library/Python/2.7/site-packages/powerline/powerline/bindings/vim/plugins/powerline.vim

Vim์€ ์ „๋ ฅ์„ ์„๋กœ๋“œํ•˜์ง€ ์•Š๊ณ  ํ–‰๋ณตํ•˜๊ฒŒ ์ซ“์•„ ๋‚ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ... ๋˜ํ•œ ์ œ tmux conf๋Š” ์ „๋ ฅ์„ ์„ ์ž˜๋กœ๋“œํ•˜๋ฏ€๋กœ ์ด๊ฒƒ์ด vim-powerline์— ํŠน์ •ํ•œ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์กฐ์‚ฌ๋ฅผํ•˜๊ณ  ๋‹ค์‹œ ์—ฐ๋ฝ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ํŒŒ์ด์ฌ์˜ ์‹œ์Šคํ…œ ๋ฒ„์ „์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ  ๋Œ€ํ™” ํ˜• ์‰˜์„ ์‹คํ–‰ํ•˜๋ฉด ์‹คํ–‰ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
๋ฒˆ๊ฑฐ ๋กœ์›€์—†์ด from powerline.vim import VimPowerLine .

์–ด๋–ค ์ด์œ ๋กœ ๋“  CTYPES ์ค„์„ ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ (์ผ๋ถ€ ๊ถŒํ•œ ์˜ค๋ฅ˜๋Š” ๋‚˜์ค‘์— ์ž์„ธํžˆ ์กฐ์‚ฌ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค) ์‹ค์ œ๋กœ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ˆ˜ํ–‰๋˜๋Š” ์†Œ์Šค ํŒŒ์ผ์„ ์ถ”์  ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๊ทธ๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅธ ์ง„ํ–‰ ๋ฐฉ๋ฒ•์ธ์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

Python ๋ฒ„์ „ Vim์€ Vim์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” Python ๋ฒ„์ „๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์ปดํŒŒ์ผ ๋˜์—ˆ์Šต๋‹ˆ๊นŒ? ctypes๋ฅผ ๊ฐ€์ ธ ์˜ค๋Š” ๋™์•ˆ MemoryError์™€ SEGV๋Š” ์ „๋ ฅ์„  ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ Python ์„ค์น˜ ๋ฌธ์ œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. powerline์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  vim์—์„œ :python import ctypes ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (์ ์–ด๋„ MemoryError, ์‹ค์ œ๋กœ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค : ์•„๋งˆ๋„ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ž๊ฐ€ NULL์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๊นŒ?).

๋น™๊ณ , ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ MacOS Mojave ์—…๋ฐ์ดํŠธ ์ „์—๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

Mojave๋กœ ์—…๋ฐ์ดํŠธ ํ•œ ํ›„ ์˜ค๋ฅ˜ +1

Traceback (most recent call last):
  File "<string>", line 4, in <module>
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError
An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
possible solutions.
Error detected while processing /usr/local/lib/python2.7/site-packages/powerline/bindings/vim/plugin/powerline.vim:
line  157:
Traceback (most recent call last):
  File "<string>", line 53, in <module>
  File "<string>", line 9, in powerline_troubleshoot
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError
Press ENTER or type command to continue

Python ๋ฒ„์ „ Vim์€ Vim์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” Python ๋ฒ„์ „๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์ปดํŒŒ์ผ ๋˜์—ˆ์Šต๋‹ˆ๊นŒ? ctypes๋ฅผ ๊ฐ€์ ธ ์˜ค๋Š” ๋™์•ˆ MemoryError์™€ SEGV๋Š” ์ „๋ ฅ์„  ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ Python ์„ค์น˜ ๋ฌธ์ œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. powerline์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  vim์—์„œ :python import ctypes ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (์ ์–ด๋„ MemoryError, ์‹ค์ œ๋กœ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค : ์•„๋งˆ๋„ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ž๊ฐ€ NULL์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๊นŒ?).

๊ทธ๋ž˜์„œ ๊ทธ๊ฒƒ์€ _ ์—…๊ทธ๋ ˆ์ด๋“œ ์ง์ „ _ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด zsh ๋ฐ tmux ์„ค์ •์€ ๋‹ค๋ฅธ ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

vim์—์„œ :python import ctypes ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜ (CTYPE ์˜ค๋ฅ˜)๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” Apple-Python์˜ ์ถœํ•˜ ๋œ ๋ฒ„์ „์—์„œ Apple์ด ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€, ์•„๋‹ˆ๋ฉด ์‹ค์ œ๋กœ ๋ณ€๊ฒฝ ํ•œ ๊ฒƒ์ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๋ฐค ์กฐ๊ธˆ ํ›„์— ๋‹ค์‹œ ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Zsh์™€ tmux๋Š” ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค์—์„œ Python ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Vim์€ dlopen์„ ํ†ตํ•ด Python์„ ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ๋” ์ทจ์•ฝํ•œ ๋งํฌ๋กœ๋งŒ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. Python ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์ƒˆ ๋ฒ„์ „์œผ๋กœ Vim์„ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•ด์•ผํ•˜๊ฑฐ๋‚˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „์˜ ์ฐจ์ด๋กœ ์ธํ•ด ctypes ๊ฐ€์ ธ ์˜ค๊ธฐ๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ๋Šฆ๊ฒŒ ์˜ค์ž‘๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ (์ผ๋ฐ˜์ ์œผ๋กœ :python ๊ฐ€ ์ „ํ˜€ ์‹คํ–‰๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋•Œ๋กœ๋Š” ์ถฉ๋Œ ํ•  ์ˆ˜ ์žˆ์Œ) ๊ฐ€๋Šฅํ•œ ์„ค๋ช… ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์‹œ์Šคํ…œ๊ณผ ์ž์ž‘ Python ๋ฒ„์ „์˜ ์ฐจ์ด์ ์ž…๋‹ˆ๋‹ค. ์ €๋Š” Mac์ด์—†๊ณ  ์–ด๋–ค Vim์ด ๋‘ ๊ฐ€์ง€ ์ค‘ ์–ด๋Š ํ•˜๋‚˜๋ฅผ๋กœ๋“œํ•ด์•ผํ•˜๋Š”์ง€, ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํžˆ ๊ทธ ์œ„์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ Mac์—์„œ (app (vim ๋“ฑ)) + Python ์„ค์ • ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋˜ ๋‹ค๋ฅธ ์ผ๋ฐ˜์ ์ธ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ์ˆ˜์ž…์‹œ ๊ฐ์ข… ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ ZyX- ๋‚˜๋Š” ์šฐ์™€ ๊ทธ๊ฒƒ์„ ์–ป์—ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ „ํ˜€ ๋ชฐ๋ž๋‹ค.

์‹œ์Šคํ…œ ๋ฒ„์ „์œผ๋กœ vim์„ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•˜๊ณ  ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

ํ•ด๊ฒฐ์ฑ…!!

1) ํ˜„์žฌ vim ๋ฒ„์ „์„ ํŒŒ์•…ํ•˜์‹ญ์‹œ์˜ค. Mine์€ homebrew๋กœ ์ปดํŒŒ์ผ๋˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ Apple์ด Mojave ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•ด ์žฌ ์ปดํŒŒ์ผ ํ•œ ๊ธฐ๋ณธ ์‹œ์Šคํ…œ ๋ฒ„์ „์ด์—ˆ์Šต๋‹ˆ๋‹ค (๋‚ ์งœ๋ณด๊ธฐ). ์ปดํŒŒ์ผ ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์ „ ์ง„์ˆ ์ด ์ •ํ™•ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ํ‹€๋ฆฌ๋ฉด ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค. vim --version ์‹คํ–‰ํ•˜๋ฉด [email protected] ์˜ํ•ด ์ปดํŒŒ์ผ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2) brew'd ๋ฒ„์ „์˜ python @ 2 ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  brew๋ฅผ ํ†ตํ•ด ํŒŒ์ด์ฌ์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค (์ž‘์„ฑ ๋‹น์‹œ ๊ธฐ๋ณธ์ ์œผ๋กœ 3.7.0์„ ์„ค์น˜ ํ•จ). ๊ทธ๋ƒฅ ๋†”๋’€์–ด์š” ์„ค์น˜๋˜์ง€ ์•Š์œผ๋ฉด brew python์œผ๋กœ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํฌ๋Ÿผ์„ ์ฝ์–ด๋ณด์‹ญ์‹œ์˜ค. @ ZyX-I ์–ด์ฉŒ๋ฉด ๋‹น์‹ ์ด ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋” ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

3) brew install python ํ›„ homebrew๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ brew install vim ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ vim์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ /usr/local/bin/vim --version ์‹คํ–‰ํ•˜๊ณ  python3 ์˜†์— '+'๊ธฐํ˜ธ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์…ธ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด /.vimrc๊ฐ€ /Library/Python/2.7/site-packages/powerline/powerline/bindings/vim/ ๋˜๋Š” ์ฐพ๊ณ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฝ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

.... ์ž‘๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค!

ํŽธ์ง‘ : ์ผ๋ถ€ ๋ฌธ๋ฒ•, ์ปคํ”ผ์—†์ด ์ผ์Šต๋‹ˆ๋‹ค.

Mojave๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ๋•Œ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
line 63: Traceback (most recent call last): File "<string>", line 1, in <module> File "/Users/xxx/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module> from powerline.lib.config import ConfigLoader File "/Users/xxx/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module> from powerline.lib.threaded import MultiRunnedThread File "/Users/xxxx/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module> from powerline.lib.monotonic import monotonic File "/Users/xxx/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module> import ctypes File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module> _reset_cache() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache CFUNCTYPE(c_int)(lambda: None) MemoryError line 64: Traceback (most recent call last): File "<string>", line 1, in <module> NameError: name 'powerline_setup' is not defined line 65: Traceback (most recent call last): File "<string>", line 1, in <module> NameError: name 'powerline_setup' is not defined
์‹œ์Šคํ…œ ๊ธฐ๋ณธ ํŒŒ์ด์ฌ์œผ๋กœ ๋กค๋ฐฑ ํ•œ ํ›„์—๋„ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@zhongruizhi ์œ„์—์„œ ์ œ์•ˆํ•œ ๊ฒƒ์„ ์‹œ๋„ ํ–ˆ์Šต๋‹ˆ๊นŒ? ๋‚ด ์†”๋ฃจ์…˜์„ ๊ฒŒ์‹œํ•˜๊ณ  ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค!

๋ฟก ๋นต๋€จ
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๊ท€ํ•˜์˜ ์†”๋ฃจ์…˜์ด ๋‚ด ์ƒํƒœ์— ์ ํ•ฉํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. brew๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ python (2.7.10) ๋ฐ vim. (+ python / dyn -python3)์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@anirrudh ์ •๋ง ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค, ์ข‹์€ ์†”๋ฃจ์…˜, ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

@zhongruizhi ๊ทธ๋ž˜์„œ ์ €๋Š” Apple์—์„œ ์ œ๊ณตํ•˜๋Š” ํ‘œ์ค€ vim ๋ฒ„์ „๋„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์ „๋ ฅ์„ ์— ๋Œ€ํ•ด ๊นจ์ง„ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฉฐ ์œ ์ผํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์€ brew๋ฅผ ํ†ตํ•ด vim์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ์—๋Š” ์œ„์— ๊ฒŒ์‹œํ–ˆ์ง€๋งŒ + python3์ด + python / dyn์ด ์•„๋‹Œ, ๋‚ด ์‚ฌ๊ณผ๊ฐ€ ์ œ๊ณต ํ•œ vim์ด ๊ฐ€์ง„ ๊ฒƒ๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค!

@anirrudh ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์•Œ์•„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ ์ด์œ ์™€ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜๋‹ค.
ํŒŒ์ผ์˜ _reset_cache () ํ•จ์ˆ˜์—์„œ CFUNCTYPE :
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py
๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ์ด ํŒŒ์ผ๋กœ ์ด๋™ํ•˜์—ฌ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

265 def _reset_cache():
266     _pointer_type_cache.clear()
267     _c_functype_cache.clear()
268     if _os.name in ("nt", "ce"):
269         _win_functype_cache.clear()
270     # _SimpleCData.c_wchar_p_from_param
271     POINTER(c_wchar).from_param = c_wchar_p.from_param
272     # _SimpleCData.c_char_p_from_param
273     POINTER(c_char).from_param = c_char_p.from_param
274     _pointer_type_cache[None] = c_void_p
275     # XXX for whatever reasons, creating the first instance of a callback
276     # function is needed for the unittests on Win64 to succeed.  This MAY
277     # be a compiler bug, since the problem occurs only when _ctypes is
278     # compiled with the MS SDK compiler.  Or an uninitialized variable?
279     CFUNCTYPE(c_int)(lambda: None)

๋ณด์‹œ๋‹ค์‹œํ”ผ 279 ํ–‰์˜ CFUNCTYPE ํ•จ์ˆ˜๋Š” ์–ด๋–ค ์ด์œ ๋กœ ๋“  Win64์—์„œ unittest์— ์˜ํ•ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. Mac ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ์ด ์ค„์€ ์“ธ๋ชจ๊ฐ€ ์—†์œผ๋ฉฐ macOS์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฅ˜๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ 279 ํ–‰์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  vim์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์ „๋ ฅ์„ ์— ์˜ค๋ฅ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€:
__init__.py ํŒŒ์ผ์€ ์‹œ์Šคํ…œ ์ฝ๊ธฐ ์ „์šฉ ํŒŒ์ผ์ด๋ฉฐ, ์‹œ์Šคํ…œ ๋ฌด๊ฒฐ์„ฑ ๋ณดํ˜ธ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด Mac ๋ณต๊ตฌ ๋ชจ๋“œ์—์„œ csrutil disable ๋ช…๋ น (๋ถ€ํŒ…์‹œ command + R ๋ˆ„๋ฅด๊ธฐ)์„ ์‹คํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์žฌ๋ถ€ํŒ… ํ›„ ๋ฃจํŠธ ๊ถŒํ•œ์„ ์‚ฌ์šฉํ•˜์—ฌ์ด ํŒŒ์ผ์„ ํŽธ์ง‘ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

brew install vim --with-lua --with-override-system-vi
์…ธ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/Valloric/YouCompleteMe/issues/3165#issuecomment -425616700

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @ Joshua-Chang

๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @ Joshua-Chang
vim์€ ๊ดœ์ฐฎ์ง€ ๋งŒ vi๋Š” ์—ฌ์ „ํžˆ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
`Vim : ์น˜๋ช…์ ์ธ ์‹ ํ˜ธ SEGV ํฌ์ฐฉ
๊ธฐ๋Šฅ ์ฒ˜๋ฆฌ ์ค‘ ์˜ค๋ฅ˜ ๊ฐ์ง€70_PollServerReady [7] ..70_ Pyeval : Vim : ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

4 ํ–‰ :
์˜ˆ์™ธ MemoryError : MemoryError ()๋ฌด์‹œ
๋ถ„ํ•  ์˜ค๋ฅ˜ : 11`

vim์€ ๊ดœ์ฐฎ์ง€ ๋งŒ vi๋Š” ์—ฌ์ „ํžˆ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ๋” ๋‚˜์€ ํ•ด์ƒ๋„๊ฐ€ ์žˆ์ง€๋งŒ alias vi="vim" ๋ฅผ ๋‚ด ์‰˜ rc ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

commad git commit --amend ์‚ฌ์šฉํ•  ๋•Œ @ whenever77 ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”.

@ Joshua-Chang์˜ ์ œ์•ˆ์„ ์‹œ๋„ํ•ด๋ณด์‹ญ์‹œ์˜ค.

@ Joshua-Chang์˜ ์ œ์•ˆ์„ ์‹œ๋„ํ•ด๋ณด์‹ญ์‹œ์˜ค.

๋‚˜๋Š” ์‹œ๋„ํ–ˆ๋‹ค.
vim์„ ์ง์ ‘ ์‚ฌ์šฉํ•  ๋•Œ ์ž‘๋™ํ•˜์ง€๋งŒ git commit --amend ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ช…๋ น ์ค„์—์„œ ์ถฉ๋Œ์„ ์ˆ˜์ •ํ•˜๋ ค๊ณ ํ•˜๋ฉด ์—ฌ์ „ํžˆ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ์ด ๊ธฐ์‚ฌ๋ฅผ ์ฝ๊ณ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊บ„๋œŒ ๋‹˜
https://ltaoo.github.io/2018/10/22/%E6%9B%B4%E6%96%B0%20macOS%20Mojave%20%E5%90%8E%20vim%20%E6%89%93 % E4 % B8 % 8D % E5 % BC % 80 /

@kyriejoshua ํ•ด๊ฒฐ์ฑ…์„ ๊ณต์œ ํ•˜๋Š” ๋งˆ์Œ?

๋‚ด ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค. ํ—‰ํ—‰

cd ~/.vim/bundle/YouCompleteMe
git pull
git submodule update --init --recursive.
python install.py

์…ธ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

YCM ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ YCM ์—ฐ๋ฝ์ฒ˜ ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

์‹œ์Šคํ…œ Vim๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ์—ฌ๊ธฐ์—์„œ ์ถ”์ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค : https://github.com/Valloric/YouCompleteMe/issues/3271

์Šคํฌ์ผ๋Ÿฌ ๊ฒฝ๊ณ  : YCM์ด ์•„๋‹Œ Mojave ์ œํ’ˆ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ์ด ๋ฌธ์ œ๋Š” Mojave๊ฐ€ "์ค‘์š”ํ•œ ์—…๋ฐ์ดํŠธ"๋ฅผ ์„ค์น˜ ํ•œ ํ›„์— ๋‚˜ํƒ€๋‚˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค (์˜ˆ : Vim / powerline์ด ์ž˜ ์ž‘๋™ํ•˜๋Š” ์˜ค๋žซ๋™์•ˆ Mojave๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค). /usr/bin/vim ์˜ ๋‚ด vim์ด ์•„๋‹ˆ๋ผ ์ž˜๋ชป๋œ vim ์‚ฌ์šฉ (์˜ˆ : /usr/bin/vim , Apple์˜ ๋‚ด์žฅ vim) ํ•œ ๊ฒฝ์šฐ /usr/local/bin/vim . ๋‚ด PATH ๊ณ ์น˜๋Š” ๊ฒฝ์šฐ ์ผ๋ฟ์ž…๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋Š” ์•„๋งˆ๋„ ๊ทธ๊ฒƒ์„ ์žฌ์ •๋ ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ Mojave๋ฅผ ์ƒˆ๋กœ ์„ค์น˜ํ•˜์—ฌ Mac์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. python3.7์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

brew install vim
echo "alias vim=/usr/local/Cellar/vim/<VIM_VERSION>/bin/vim" >> ~/.bash_profile

VIM_VERSION์„ brew๊ฐ€ ์ฒซ ๋ฒˆ์งธ ์ค„์— ์„ค์น˜๋œ vim ๋ฒ„์ „์œผ๋กœ ๋ฐ”๊พธ์‹ญ์‹œ์˜ค.

macOS Mojave ์—…๋ฐ์ดํŠธ์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๋Š” ๋˜ ๋‹ค๋ฅธ ํ™•์ธ์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์•„์ง ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ ๋น„๊ต ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ python 2.7 (.10) ์„ค์น˜์—์„œ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์ด๊ฑฐ๋‚˜ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€์žˆ๋Š” ๋‚ด์šฉ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

bash์—์„œ zsh๋กœ์ด ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด PATH ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. export PATH=$HOME/bin:/usr/local/bin:$PATH

๋‚˜๋Š” ์ด๋ฏธ python 3.7.3, vim ([email protected]์— ์˜ํ•ด ์ปดํŒŒ์ผ ๋œ macvim์—์„œ ํฌํ•จ ๋œ ๋ฒ„์ „)์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๊ณ , ์ด๋ฏธ Mojave๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. zsh๋กœ๋งŒ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ €๋Š” ์—…๋ฌด์šฉ ๋…ธํŠธ๋ถ์„ Mojave๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผํ•˜๋Š” ๋‹ค์Œ ๋‚  ์™œ ์ด๊ฒƒ์ด ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†๋Š”์ง€ ์•Œ์•„ ๋‚ด๋ ค๊ณ  ๋ฒฝ์— ๋จธ๋ฆฌ๋ฅผ ๋ถ€๋”ช ํžˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๊ฐ€์ด๋“œ๋ฅผ ๋”ฐ๋ž๊ณ  ๋‹ค์‹œ vim์—์„œ powerline์ด ์ž‘๋™ํ•˜๊ฒŒ๋˜์—ˆ์ง€๋งŒ, ์ œ ์‚ถ์„ ์œ„ํ•ด git commit ํ•˜๋ ค๊ณ ํ•˜๋ฉด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‘ ๋ฒˆ ๋‚ด ์ฒดํฌ .zshrc ๋‚ด๊ฐ€ ํ•  ๋‚ด ํŽธ์ง‘๊ธฐ ์„ธํŠธ ์žˆ๋‹ค๊ณ  vim . ๊ทธ๋Ÿฐ ๋‹ค์Œ alias vi=vim ์ด๊ณ  ์—ฌ์ „ํžˆ ์ฃผ์‚ฌ์œ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ powerline๊ณผ vim์„ ์•ฝ ๋ฐฑ ๋ฒˆ ๋‹ค์‹œ ์„ค์น˜ ํ•œ ํ›„ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์—์„œ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค (์ด๋Š” ํ„ฐ๋ฏธ๋„ ์ฐฝ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  tmux ๋˜๋Š” ๋‹ค๋ฅธ ๊ฒƒ์„ ์‹œ์ž‘ํ•˜์ง€ ์•Š์€ ํ›„ ํ›จ์”ฌ ์ž‘์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์ž…๋‹ˆ๋‹ค.

Vim: Caught deadly signal SEGV
Vim: Finished.
error: /usr/bin/vim died of signal 11
error: There was a problem with the editor '/usr/bin/vim'.
Please supply the message using either -m or -F option.

๋ฐ”๋กœ ๊ฑฐ๊ธฐ : /usr/bin/vim

๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๋‘ ๋ฒˆ ํ™•์ธํ•˜๊ณ  .gitconfig ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ค„์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

[core]
editor = /usr/bin/vim

editor = vim ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์š”์•ฝ : git commit vim ์„ค์น˜์— ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ .gitconfig ๊ฐ€ ์‹œ์Šคํ…œ vim์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์ง€ ์•Š์€์ง€ ๋‹ค์‹œ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰