[vim ] 外部命令時 如何關閉 自動加 \ ?

看板Editor (編輯器(vim/emacs))作者 (柔弱氣質偽少女)時間9年前 (2015/07/26 22:35), 9年前編輯推噓0(0010)
留言10則, 2人參與, 最新討論串1/1
linux 下 遇到特殊字元時(空白之類,處理檔名or路徑) 外部命令會自動加上 \ 沒什麼問題 windows 下 檔名和路徑的空白會變成 " " -> "\ " 這會讓 cmd 錯誤 請問該怎麼不讓它處理特殊字元時 不自動加上 \ 不然每次處理有特殊字元的外部命令時 總是得再手動編輯 謝謝 舉例: 0read !dir/on 含空白之路徑or檔名 這樣子就會跳錯誤 說明詳細點就是 假設我今天要用外部命令讀取一個目錄的檔案列表(使用 cmd 的 dir) 目錄路徑為 c:\arch linux\ 使用指令為 :0read !dir/on c:\arch(按tab auto-comp後) 會變成 :0read !dir/on c:\arch\ linux\ ^^ 問題點在於 cmd 不吃這個跳脫符號 變成遇到這類型目錄or檔案 就得手動再編輯命令 使用 ssl 也只是變成 :0read !dir/on c:/arch\ linux/ "\" 會變成 "/" 我在目錄前先加了 單or雙引號 也是會自動在空白前加上 "\" 不知道這樣子問題有沒有比較清楚一點 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.123.103 ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1437921328.A.4EF.html

07/27 19:07, , 1F
不是很理解問題, 是指要 :set nossl 嗎
07/27 19:07, 1F
※ 編輯: Bellkna (114.33.123.103), 07/27/2015 19:36:53

07/30 00:10, , 2F
cnoremap <C-t> <C-\>e(<SID>RmCmdBackSlash())<CR>
07/30 00:10, 2F

07/30 00:10, , 3F
function! s:RmCmdBackSlash()
07/30 00:10, 3F

07/30 00:10, , 4F
return substitute(getcmdline(), '\\ ', ' ', 'g')
07/30 00:10, 4F

07/30 00:10, , 5F
endfunction
07/30 00:10, 5F

07/30 00:11, , 6F
把以上四行貼到 .vimrc (Windows 是 _vimrc)
07/30 00:11, 6F

07/30 00:13, , 7F
以後按 Ctrl-t , 參考資料是
07/30 00:13, 7F

07/30 00:14, , 8F
07/30 00:14, 8F

07/30 18:46, , 9F
研究一下 謝謝回答
07/30 18:46, 9F

07/30 22:58, , 10F
ok了 謝謝
07/30 22:58, 10F
文章代碼(AID): #1LjF0mJl (Editor)
文章代碼(AID): #1LjF0mJl (Editor)