[vim ] 某些檔名的檔案無法用vim打開
看板Editor (編輯器(vim/emacs))作者Holocaust123 (要把自己逼緊一點)時間15年前 (2010/08/06 11:33)推噓1(1推 0噓 0→)留言1則, 1人參與討論串1/2 (看更多)
我想把我的電腦[1]設成「在任何文件檔[2]點兩下, 預設都用gvim打開」
上網找了幾篇教學文章[3]後, 我做了以下設定:
1. 在 cmd 下輸入:
     ftype txtfile="C:\Program Files\Vim\vim72\gvim.exe" --remote-tab-silent "%1"
     assoc .=txtfile
2. 找到下面兩個Registy的Key(若不存在就新增之):
     Registry\HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command
     Registry\HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\open\command
   然後把他們的default value改成這樣(依gvim的安裝路徑需稍加修改):
     C:\Program Files\Vim\vim72\gvim.exe --remote-tab-silent "%1"
做了上面兩個動作後,
點兩下任何txtfile檔[4], 都會用gvim打開;
開啟多個檔案時,
會在同一個gvim視窗中用多個分頁開啟,
而不會是開了一大堆的gvim視窗
這正是我想要的!
----------------------------   問題分隔線  -------------------------------
假設有個文字檔叫myFile:
  C:\Documents and Settings\Js\桌面\myFile
內容是
  test 123
點兩下這個檔案, gvim會把它打開, 一切正常:
  http://www.dumpt.com/img/viewer.php?file=1fse1ebo18a75tv1gmko.jpg

假設我把檔名改一下, 改成(aaa)myFile:
  C:\Documents and Settings\Js\桌面\(aaa)myFile
內容不變
點兩下這個檔案, gvim會把它打開, 但:
  http://www.dumpt.com/img/viewer.php?file=2vcewhbf6vsi13er6bhn.jpg

正常的檔名應該是我改的"(aaa)myFile"
但它卻變成了"桌面(aaa)myFile"
也就是說路徑分隔符號( \ )不見了
變成gvim開了一個檔名是"桌面(aaa)myFile"的新檔案!
我發現只要檔名開頭是「括號」就會這樣
猜測可能是registy的value有問題  然而我亂搞很久還是沒弄好...
希望有好心人教我一下  拜託了> <
-------------------------  註解分隔線  -----------------------------
註:
[1]
 OS     : XP Home跟XP Professional SP3
 Vim版本: gvim 7.2
[2]
 這裡講的「任何文件檔」, 包括沒有副檔名的檔案
[3] 
 http://vim.wikia.com/wiki/Launch_files_in_new_tabs_under_Windows
 http://vim.wikia.com/wiki/Associate_files_with_no_extension_to_Vim_under_Windows
[4]
 在 cmd 下指令可把副檔名關聯到txtfile:
  assoc .py=txtfile          
    => 點兩下Python檔 就會用gvim打開  
  assoc .cpp=txtfile
    => 點兩下C++檔 就會用gvim打開
  assoc .java=txtfile
    => 點兩下Java檔 就會用gvim打開
  assoc .=txtfile
    => 點兩下沒有副檔名的檔案 就會用gvim打開
  (其他類推)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.106
※ 編輯: Holocaust123    來自: 140.112.218.106      (08/06 23:27)
推
08/27 21:58, , 1F
08/27 21:58, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Editor 近期熱門文章
PTT數位生活區 即時熱門文章
                            12
                        
                            32