5

OSX と Vim で Terminal.app を使用しています。特定のファイル (たまたま .scss ファイル) に書き込み/保存しようとするたびに、Vim がハングするようです。ファイルが正常に書き込まれることはわかっていますが、制御が戻されることはありません。代わりに、一番下にファイル名が表示され、行末でカーソルが点滅します。Ctrl-Esc、Ctrl-c、および Ctrl-[ を試しましたが、すべて役に立ちませんでした。

その後、Terminal.app を終了して再度開くと、スタックした Vim プロセスがまだアクティビティ モニターで実行されていることがわかります。

他のファイルを問題なく書き込むことができます。

私も CodeKit を使用して .scss ファイルを監視していますが、それが原因かもしれないと考えて、CodeKit を終了し、Vim で再度ファイルを書き込もうとしましたが、それでも動かなくなりました。

MacVim を使用すると正しく書き込めるように見えますが、Terminal.app 経由では機能しないようです。

どんな提案でも大歓迎です、ありがとう!

編集

これが私の現在の .vimrc です: https://www.dropbox.com/s/1r72shv47f07crs/.vimrc

私は Vim 7.3 を使用しています。詳細は次のとおりです。

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

これが私の.bash_profileにあるすべてです:

# Tell ls to be colourful
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

# Tell grep to highlight matches
export GREP_OPTIONS='--color=auto'
4

3 に答える 3

2

私はついに問題の原因を見つけました。それはファイルのパーミッションと関係がありました。同じディレクトリに新しいtest.scssファイルを作成し、Terminal.appのvimを使用してそのファイルへの変更を問題なく保存することができました。次に、問題の原因となったtest.scssファイルとメインのstyle.scssファイルのアクセス許可を比較しました。結果は次のようになりました。

test.scss

-rwx------

そしてstyle.scss(私に問題を引き起こしていたファイル)のために

-rwx------@

CodeKitが(CodeKitによって)最初にスキャンされたときにファイルにいくつかの追加のファイル属性を追加し、これらの追加の属性(@で示されている)が原因であると思われます。これは、CodeKitが実行されていないときでも問題が発生している理由を説明しています。xattrコマンドを使用して、com.apple.ResourceForkを提供する追加の属性を調べました。次に、-dフラグを指定してxattrを使用して、この追加の属性をファイルから削除し、問題を修正しました。

xattr -d com.apple.ResourceFork style.scss

これはかなりあいまいで特定の状況だと思いますが、他の誰かにも役立つことを願っています。

于 2012-10-05T16:20:38.503 に答える
1

Mac OS X ではいつものようにデフォルトの Vim。

ありがたいことに、MacVim には、シェルで MacVimmvim使用できるようにする実行可能スクリプトが付属しています。あなたのどこかに置いて実行してください。これを使用したときにのみ問題が発生する場合は、これで解決する可能性があります。$PATH$ mvim -v filename/usr/bin/vim

シンタスティックプラグインはありますか?

于 2012-10-05T14:45:55.807 に答える
1

実行している Vim のバージョンは何ですか? 更新することで、バグが修正される可能性があります。

ファイルの保存と同じくらい一般的なことで Vim を詰まらせる唯一の原因は、プラグインや .xml 内の大きなカスタム関数からの競合.vimrcです。

もう少し詳しく教えていただければ、もっとお役に立てるかもしれません。

于 2012-10-05T14:29:40.640 に答える