2

在我的 Mac 上,我使用MacVimwithhomebrew进行大部分编辑。

~|⇒ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 20 2012 13:16:02)
Compiled by root@apple.com
Normal version without GUI.  Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path
+find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse
+mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype
+path_extra -perl +persistent_undo +postscript +printer -profile +python/dyn
-python3 +quickfix +reltime -rightleft +ruby/dyn +scrollbind +signs
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
 -xterm_clipboard -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g -Os -pipe
Linking: gcc -arch i386 -arch x86_64 -o vim -lncurses

但是,在过去的几天里,我遇到了一个奇怪的问题。当我从命令行启动 vim 时,我收到以下消息并且 vim 立即崩溃。

~|⇒ vim test.txt
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/site.py", line 74, in <module>
    __boot()
  File "/usr/local/lib/python2.7/site-packages/site.py", line 34, in __boot
    imp.load_module('site',stream,path,descr)
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 563, in <module>
    main()
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 545, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 278, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 253, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 243, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 472, in get_config_var
    return get_config_vars().get(name)
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 405, in get_config_vars
    import re
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 105, in <module>
    import sre_compile
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_compile.py", line 14, in <module>
    import sre_parse
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_parse.py", line 17, in <module>
    from sre_constants import *
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_constants.py", line 18, in <module>
    from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT

但是当我使用Applications菜单中的图标启动它时,它启动得很好。我对此尝试了一些变体,例如,如果我这样做open Applications/MacVim,它会完美运行。据我了解,当我从命令行启动 vim 时,python 出了点问题。

有人可以告诉我这里出了什么问题以及如何解决它。你可以在这里找到我的 vimrc 文件。

4

1 回答 1

12

不。这个东西不是Vim 或 MacVim 随 Homebrew 一起安装的:它是 Mac OS X 附带的默认 Vim。

很长一段时间以来,默认的 Vim 在很多方面都表现不佳,主要是-xterm-clipboard,这就是人们通常安装“合适的”Vim 的主要原因。安装 MacVim根本不会替换默认的 Vim,因此您必须进行一些修改以使vim命令执行 MacVim 捆绑的 CLI 可执行文件:

  1. mvim脚本放在您的$PATH.

  2. 将下面的行添加到您的 shell 中*rc

    alias vim='mvim -v'
    

但是您使用 Homebrew,我不知道它是否对该mvim脚本有任何作用,或者是否安装了它。

如果你想在你的 shell 中使用 Homebrew 的 Vim/MacVim,你基本上有两种解决方案。

  • 确保vim命令指向你喜欢的 Vim。它可以通过多种方式完成:一种方法是将安装 Vim 的目录添加$PATH*rc.

  • 使用选项通过 Homebrew 重新安装 Vim 或 MacVim override-system-vi

于 2013-05-18T20:15:37.783 回答