#[1]Edit [2]Vim Tips Wiki (en) [3]copyright [4]Vim Tips Wiki Atom feed FANDOM [5]Games [6]Movies [7]TV [8]Video Wikis * [9]Explore Wikis * [10]Community Central * [11]Start a Wiki Search ____________________ (BUTTON) (BUTTON) * [12]Sign In * Don't have an account? [13]Register [14]Start a Wiki [15]Vim Tips Wiki [16]Vim Tips Wiki 1,640 Pages [17]Add new page * [18]Community portal * [19]To do * Explore + [20]Wiki Activity + [21]Random page + [22]Community + [23]Videos + [24]Images in: [25]Duplicate, [26]Review, [27]VimTip, and 2 more * [28]File Handling * [29]Integration Editing remote files via scp in vim [30]Edit * [31]Edit source * [32]History * [33]Talk (0) [34]Share __________________________________________________________________ Duplicate tip This tip is very similar to the following: * [35]VimTip542 These tips need to be merged – see the [36]merge guidelines. Please review this tip: * This tip was imported from vim.org and needs [37]general review. * You might [38]clean up comments or [39]merge similar tips. * Add suitable [40]categories so people can find the tip. * Please [41]avoid the discussion page (use the Comments section below for notes). * If the tip contains good advice for current Vim, remove the {{review}} line. [42]Tip 337 [43]Printable [44]Monobook [45]Previous [46]Next created 2002 · complexity intermediate · author Matthew Weier O'Phinney · version 6.0 __________________________________________________________________ Vim 6.x has the netrw plugin installed as a standard plugin. It allows you to edit files via ftp, rcp, scp, or http. If your username differs on the remote host, however, and you're trying to use scp, things can get a little weird, particularly if you're not editing a document under your user tree. To get around this, try opening the file as follows: vim scp://remoteuser@server.tld//absolute/path/to/document Similarly, you can open the file from within Vim in a new buffer by running: :e scp://remoteuser@server.tld//absolute/path/to/document or in a new tab using: :tabe scp://remoteuser@server.tld//absolute/path/to/document Notice two things: 1. remoteuser@: This is used to specify the user name on the remote server. Without this, it will use the user's name on the local computer. Often that will come from the $USERNAME environment variable. If the user has the same name on the local computer and the remote server, this part is unnecessary. If you're unsure whether it's needed, use it just to be safe. 2. Double slashes ("//") between the hostname and file path: At least one slash is needed to separate the remote server's hostname from the file path. That slash is not included in the path used to reference the file on the remote server. If the path to the file is absolute, then it must begin with a slash, giving two slashes between the hostname and file path as shown above. However, if the file to be edited is contained within the home directory of the remote user, a relative path may be used, which should not use a second slash. For example, if the absolute path to the file to be edited is /users/remoteuser/relative/path/to/document and the home directory for remoteuser is /users/remoteuser, then the following command will open that file: vim scp://remoteuser@server.tld/relative/path/to/document Comments[47] [yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D] Edit The [48]latest netrw.vim has several improvements. Later Windows ftp is handled, new protocols (rsync, cadaver, fetch), user fixup functions, etc. __________________________________________________________________ How can we store the password? It prompts for password each time we save! __________________________________________________________________ I just got this working on Win2k w/ PuTTY's command line scp program [49]http://www.chiark.greenend.org.uk/~sgtatham/putty/ * copy pscp.exe into your path somewhere as scp.exe * put "let g:netrw_cygwin= 0" in your $VIM/_vimrc __________________________________________________________________ A possible gotcha: If you don't put the path as specified (and noted) in the tip, you may get a non-intuitive error: not putting "//" between the hostname and the *absolute* path of the file you edit may cause vim to try to retrieve the file via rcp, as in :!rcp scp://m@mymachine.com:t1 and result in an error. Also be careful that you put the absolute path of the file on the remote machine, not the path relative to the remote user's home directory. __________________________________________________________________ Using relative paths is quite normal and well supported. Try :r scp://m@machine/t1 __________________________________________________________________ Someone was asking if you could define the port for ftp vim ftp://[user@]machine[[:#]portnumber]/path try that...just like any other url. vim [50]ftp://stankonia@domainname.com:6090/public_html/index.html I guess that would work. __________________________________________________________________ There is a nice way to save your passwords: Create .netrc under you home directory and put lines in, one per ftp machine, like this one: machine yourftp.somewhere.org login yourlogin password "yoursecret" __________________________________________________________________ ftp remote edit is OK. Run command: gvim [51]// ftp:////; Then enter user name and password. __________________________________________________________________ If everything seems to be setup correctly but you're still unable to access a file with ftp. Check the permissions on your .netrc file. If .netrc is readable by anyone else besides the owner then ftp auto fails. chmod 600 .netrc __________________________________________________________________ Solved for me on windows with putty, in vimrc: let g:netrw_cygwin = 0 let g:netrw_scp_cmd = "\"C:\\Program Files\\PuTTY\\pscp.exe\" -pw mypasswd " and now run from wincommander: gvim scp://user@server.xxx.cz/file.txt __________________________________________________________________ Get the latest version to fix any problems you are having. __________________________________________________________________ Was getting a bit annoyed with having to type the full path a remote user's file when I'm using scp and connecting as root on the remote end to edit a local user's file on the remote site and found out that I could do this and vim did "The Right Thing" vim scp://root@example.com/~user/public_html/.htaccess That was a lot nicer than having to bother with: vim scp://root@example.com//home/user/public_html/.htaccess Maybe not such a pain in that example, but if you're working with an Ensim for Linux system, you've got everything chrooted which makes you have to type a ridiculously long path such as: vim scp://root@example.com//home/virtual/site2/fst/var/www/html/.htaccess (yawn) __________________________________________________________________ To change the scp port, there's several options. A quick one would be while you've opened vim to type this: :let g:netrw_scp_cmd="scp -q -P " and then just type: :e scp://my_user@remote_hostname//path/to/remote/file --> I think a better solution is to use ssh-mechanisms, i.e. the ~/.ssh/config file: Host lala HostName test.machine.example.net User remoteuser IdentityFile ~/.ssh/id_for_test.machine Port 57 __________________________________________________________________ I have discovered how to make passive mode ftp work. See [52]http://alecthegeek.github.io/blog/2007/02/06/handy-hack-how-to-use- vim-netrw-in-ftp-passive-mode/ __________________________________________________________________ Try "C:\Program Files\Vim\vim71\gvim.exe" --remote-tab !.! in WinSCP to open each file in a separate tab in the same gVim instance. I also clicked the "External Editor Opens Multiple Files in one window" checkbox. There is another option --remote-silent that will suppress the first warning that there is no gVim already running, but you cannot use it with the --remote-tab option. I prefer to ack. the one warning rather than making sure I'm in a new tab before opening anything.---- --Preceding [53]unsigned comment added by 161.88.255.139 (talk • [54]contribs) 20:49, 18 April 2008 __________________________________________________________________ Use "C:\Program Files\Vim\vim71\gvim.exe" --remote-tab-silent !..! in WinSCP as External Editor works just fine. __________________________________________________________________ For windows I would suggest adding PuTTY to the system path (or not) and simply set the g:netrw_cygwin=0, and g:netrw_scp_cmd= and use Pageant to manage your private keys; that way you don't have to keep your password in your vimrc file. Pageant provides the key to PSCP when it tries to connect. --Preceding [55]unsigned comment added by 216.145.54.7 (talk • [56]contribs) 11:56 UTC, 20 May 2009 __________________________________________________________________ [57]bcvi is a utility that works with SSH/SCP and the Vim NetRW plugin described above. When you log into a remote server with SSH+bcvi, you can cd into any directory then type vi filename and the gvim command will get launched back on your workstation, with the correct SCP URL to point to the file on the server. If that sounds confusing, the [58]bcvi article clarifies things with examples and pictures. __________________________________________________________________ Retrieved from "[59]https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?ol did=40481" [60]Categories: * [61]Duplicate + + * [62]Review + + * [63]VimTip + + * [64]File Handling + + * [65]Integration + + * (BUTTON) Add category ____________________ (BUTTON) Cancel (BUTTON) Save Community content is available under [66]CC-BY-SA unless otherwise noted. Fan Feed Explore Wikis * [67][56?cb=20190910004306] Xavier Riddle and the Secret Museum Wiki * [68][56?cb=20191109223830] Flipline Studios Fanon Wiki * [69][56?cb=20190821004108] SMG4 Wiki Explore properties * [70]Fandom * [71]Gamepedia * [72]D&D Beyond * [73]Muthead * [74]Futhead Follow Us * * * * * Overview * [75]About * [76]Careers * [77]Press * [78]Contact * [79]Terms of Use * [80]Privacy Policy * [81]Global Sitemap * [82]Local Sitemap Community * [83]Community Central * [84]Support * [85]Help * [86]Do Not Sell My Info Advertise * [87]Media Kit * [88]Contact Fandom Apps Take your favorite fandoms with you and never miss a beat. * * D&D Beyond * * Vim Tips Wiki is a FANDOM Lifestyle Community. [89]View Mobile Site [90][wikiabarIcon.png] JokeyPsych [91][wikiabarIcon.png] EndgameHonest [92][wikiabarIcon.png] GalaxyQuest References Visible links 1. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?action=edit 2. https://vim.fandom.com/opensearch_desc.php 3. https://www.fandom.com/licensing 4. https://vim.fandom.com/wiki/Special:RecentChanges?feed=atom 5. https://www.fandom.com/topics/games 6. https://www.fandom.com/topics/movies 7. https://www.fandom.com/topics/tv 8. https://www.fandom.com/video 9. https://www.fandom.com/explore 10. https://community.fandom.com/wiki/Community_Central 11. https://community.fandom.com/wiki/Special:CreateNewWiki 12. https://www.fandom.com/signin?redirect=https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim 13. https://www.fandom.com/register?redirect=https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim 14. https://community.fandom.com/wiki/Special:CreateNewWiki 15. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim 16. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim 17. https://vim.fandom.com/wiki/Special:CreatePage 18. https://vim.fandom.com/wiki/Vim_Tips_Wiki:Community_Portal 19. https://vim.fandom.com/wiki/Vim_Tips_Wiki:Todo 20. https://vim.fandom.com/wiki/Special:WikiActivity 21. https://vim.fandom.com/wiki/Special:Random 22. https://vim.fandom.com/wiki/Special:Community 23. https://vim.fandom.com/wiki/Special:Videos 24. https://vim.fandom.com/wiki/Special:Images 25. https://vim.fandom.com/wiki/Category:Duplicate 26. https://vim.fandom.com/wiki/Category:Review 27. https://vim.fandom.com/wiki/Category:VimTip 28. https://vim.fandom.com/wiki/Category:File_Handling 29. https://vim.fandom.com/wiki/Category:Integration 30. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?veaction=edit 31. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?action=edit 32. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?action=history 33. https://vim.fandom.com/wiki/Talk:Editing_remote_files_via_scp_in_vim?action=edit&redlink=1 34. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim 35. https://vim.fandom.com/wiki/VimTip542 36. https://vim.fandom.com/wiki/Vim_Tips_Wiki:Merge_guidelines 37. https://vim.fandom.com/wiki/Vim_Tips_Wiki:General_guidelines 38. https://vim.fandom.com/wiki/Vim_Tips_Wiki:Comment_guidelines 39. https://vim.fandom.com/wiki/Vim_Tips_Wiki:Merge_guidelines 40. https://vim.fandom.com/wiki/Vim_Tips_Wiki:Category_guidelines 41. https://vim.fandom.com/wiki/Vim_Tips_Wiki:Discussion_guidelines 42. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim 43. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?printable=yes 44. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?useskin=monobook 45. https://vim.fandom.com/wiki/VimTip336 46. https://vim.fandom.com/wiki/VimTip338 47. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?action=edit§ion=1 48. http://www.drchip.org/astronaut/vim/index.html#NETRW 49. http://www.chiark.greenend.org.uk/~sgtatham/putty/ 50. ftp://stankonia@domainname.com:6090/public_html/index.html 51. ftp:/// 52. http://alecthegeek.github.io/blog/2007/02/06/handy-hack-how-to-use-vim-netrw-in-ftp-passive-mode/ 53. http://en.wikipedia.org/wiki/Signatures 54. https://vim.fandom.com/wiki/Special:Contributions/161.88.255.139 55. http://en.wikipedia.org/wiki/Signatures 56. https://vim.fandom.com/wiki/Special:Contributions/216.145.54.7 57. http://sshmenu.sourceforge.net/articles/bcvi/ 58. http://sshmenu.sourceforge.net/articles/bcvi/ 59. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim?oldid=40481 60. https://vim.fandom.com/wiki/Special:Categories 61. https://vim.fandom.com/wiki/Category:Duplicate 62. https://vim.fandom.com/wiki/Category:Review 63. https://vim.fandom.com/wiki/Category:VimTip 64. https://vim.fandom.com/wiki/Category:File_Handling 65. https://vim.fandom.com/wiki/Category:Integration 66. https://www.fandom.com/licensing 67. http://bit.ly/en-spotlight-xavierriddle 68. http://bit.ly/en-spotlight-fliplinestudiosfanon 69. http://bit.ly/en-spotlight-smg4 70. https://www.fandom.com/ 71. https://www.gamepedia.com/ 72. https://www.dndbeyond.com/ 73. https://www.muthead.com/ 74. https://www.futhead.com/ 75. https://www.fandom.com/about 76. https://www.fandom.com/careers 77. https://www.fandom.com/press 78. https://www.fandom.com/about#contact 79. https://www.fandom.com/terms-of-use 80. https://www.fandom.com/privacy-policy 81. https://community.fandom.com/Sitemap 82. https://vim.fandom.com/wiki/Local_Sitemap 83. https://community.fandom.com/wiki/Community_Central 84. https://fandom.zendesk.com/ 85. https://community.fandom.com/wiki/Help:Contents 86. https://www.fandom.com/do-not-sell-my-info 87. https://www.fandom.com/mediakit 88. https://www.fandom.com/mediakit#contact 89. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim 90. http://bit.ly/31KuElR 91. https://bit.ly/EndgameHT 92. https://fandom.link/NeverSurrender Hidden links: 94. https://www.fandom.com/ 95. https://www.fandom.com/ 96. https://www.facebook.com/getfandom 97. https://twitter.com/getfandom 98. https://www.youtube.com/fandomentertainment 99. https://www.instagram.com/getfandom/ 100. https://www.linkedin.com/company/157252 101. https://itunes.apple.com/us/app/fandom-videos-news-reviews/id1230063803?ls=1&mt=8 102. https://play.google.com/store/apps/details?id=com.fandom.app&referrer=utm_source%3Dwikia%26utm_medium%3Dglobalfooter 103. https://apps.apple.com/us/app/d-d-beyond/id1263629972 104. https://play.google.com/store/apps/details?id=com.curse.dndbeyond&hl=en&referrer=utm_source%3Dwikia%26utm_medium%3Dglobalfooter 105. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim 106. https://vim.fandom.com/wiki/Editing_remote_files_via_scp_in_vim