IDE好用歸好用,像Xcode,jetbrains不得不說真的很讚~不過用過IDE常常會發現需要create project,這對於只是要修改小程式來說實在是有點麻煩,所以拉~改改小程式往往就會使用Vim啦
最近在開發web常常會需要把code上傳到server上來測試,不過每次都開起fileZilla實在有夠麻煩,視窗切來切去一整個降低工作效率,所以這時可能會另外開一個terminal tab,然後輸入ftp或是sftp指令然後以put的方式上傳,這算是已經比開fileZilla還快上許多,不過這還不夠快如果在vim裡的命令模式使用SCP
:! scp fileName user@xxx.xxx.xx.xx:dirpath
就可以上傳到指令的資料夾,除了上面的方法外,其實vim有提供一些關於ftp的指令來給我們使用,可以直接在Terminal內輸入
vim [protocol]://user@xxx.xxx.xx.xx/path/to/file # ex: vim scp://user@xxx.xxx.xx.xx/path/to/file
然後我們就可以直接編輯遠端的檔案,這時如果我們在一般模式下輸入:w即可讓遠端的程式存檔!如果我們在local端已經進入vim編輯器時還有以下的指令可以用
直接編輯遠端檔案
:e dav://machine[:port]/path #uses cadaver :e fetch://[user@]machine/path #uses fetch :e ftp://[user@]machine[[:#]port]/path #uses ftp autodetects <.netrc> :e http://[user@]machine/path #uses http uses wget :e rcp://[user@]machine/path #uses rcp :e rsync://[user@]machine[:port]/path #uses rsync :e scp://[user@]machine[[:#]port]/path #uses scp :e sftp://[user@]machine/path #uses sftp
直接read遠端檔案(無法修改)
:Nread ? #give help :Nread "machine:path" #uses rcp :Nread "machine path" #uses ftp with <.netrc> :Nread "machine id password path" #uses ftp :Nread "dav://machine[:port]/path" #uses cadaver :Nread "fetch://[user@]machine/path" #uses fetch :Nread "ftp://[user@]machine[[:#]port]/path" #uses ftp autodetects <.netrc> :Nread "http://[user@]machine/path" #uses http uses wget :Nread "rcp://[user@]machine/path" #uses rcp :Nread "rsync://[user@]machine[:port]/path" #uses rsync :Nread "scp://[user@]machine[[:#]port]/path" #uses scp :Nread "sftp://[user@]machine/path" #uses sftp
將local端的檔案sync到遠端
:Nwrite ? #give help :Nwrite "machine:path" #uses rcp :Nwrite "machine path" #uses ftp with <.netrc> :Nwrite "machine id password path" #uses ftp :Nwrite "dav://machine[:port]/path" #uses cadaver :Nwrite "ftp://[user@]machine[[:#]port]/path" #uses ftp autodetects <.netrc> :Nwrite "rcp://[user@]machine/path" #uses rcp :Nwrite "rsync://[user@]machine[:port]/path" #uses rsync :Nwrite "scp://[user@]machine[[:#]port]/path" #uses scp :Nwrite "sftp://[user@]machine/path" #uses sftp
在第一次輸入Nwrite "protocol://..."之後如果要寫入只需要輸入"Nwrite"即可
當然如果不知道檔案在哪的話可以直接瀏覽資料夾
vim [protocol]://[user]@hostname/path/ :e [protocol]://[user]@hostname/path/ :Nread [protocol]://[user]@hostname/path/
不得不說這些指令實在大大增加了不少工作效率,不過有個小缺點~NerdTree在這部分的支援度好像不太好,只能瀏覽local端的資料夾,所以在編輯遠端檔案時,如果打開NerdTree只能看到local端的資料夾內容
沒有留言:
張貼留言