การนำทางโดยใช้ SSH


11

ฉันรู้ว่าสามารถใช้vim scp://host/path/to/fileเพื่อแก้ไขไฟล์ระยะไกลในท้องถิ่นแล้วอัปเดตเครื่องระยะไกลเมื่อบันทึก ( :w) อย่างไรก็ตามฉันต้องการทราบว่าเป็นไปได้ที่จะนำทางผ่านไดเรกทอรีโดยใช้ ssh (หรือหากมีปลั๊กอินที่จะทำ)

NERDTree ไม่สนับสนุนและเมื่อ viming ลงในโฟลเดอร์แม้ว่า netrw อนุญาตให้ฉันนำทางไปยังไดเรกทอรีการเปิดไฟล์ไม่ทำงาน

คำตอบ:


14

แทนที่จะชี้ Vim / Netrw ไปที่ไฟล์:

scp://host/path/file

ชี้ไปที่ไดเรกทอรี:

scp://host/path/

สิ่งนี้จะช่วยให้คุณมีรายชื่อและทางลัดเดียวกันกับที่คุณกำลังเรียกดูเครื่องของคุณ


คุณลองใช้วิธีนี้เมื่อ remoting จากUnixเครื่องของคุณเพื่อเข้าถึงโฟลเดอร์บนเครื่อง Windows .. ฉันลองvim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/แล้วมันทำให้หน้าจอว่างเปล่าโดยมีข้อผิดพลาด'ls' is not recognized as an internal or external commandเมื่อฉันลอง: vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/filename.. มันใช้งานได้ดี
alpha_989

จากนี้ดูเหมือนว่าvimจะออกคำสั่งlsเมื่อมันเข้าสู่คอมพิวเตอร์ระยะไกล .. และเพราะมันเป็นคอมพิวเตอร์ที่ใช้ windows .. มีls.. ไม่มีและคำสั่งล้มเหลว เป็นไปได้หรือไม่ที่กลุ่มเรียกใช้windowsไดเรกทอรีสำรวจผ่าน ssh โดยใช้netrwปลั๊กอินหรืออย่างอื่น? ฉันใช้VIM 8.1
alpha_989

2
โปรดทราบว่าสแลชต่อท้ายหลังจากscp://host//path/นี้เป็นสิ่งจำเป็นสำหรับการทำงาน; มิฉะนั้นเป็นกลุ่มจะพยายามเปิดเส้นทางเป็นไฟล์ปกติซึ่งจะโหลดว่างเปล่า
koyae

1

อ๊ะลืมฉันเปิดคำถามนี้แล้ว!

ดังนั้นปัญหาก็คือด้วยเวอร์ชัน netrw ที่ฉันมี (บรรจุด้วย vim-gnome บน Debian Jessie) การแก้ไขไฟล์จาก explorer (ผ่าน ssh) จะไม่ใช้ URI ที่ถูกต้อง (จากหน่วยความจำ, '@' ใน ' user @ host 'หายไป) มันเปิดไฟล์ที่ว่างเปล่า (เพราะมันไม่พบอะไรเลย) แต่มันยังคงบันทึกไฟล์ใหม่โดยใช้ URI ที่ดี (แทนที่ไฟล์ต้นฉบับได้อย่างมีประสิทธิภาพ)

คำตอบของ @ @ user21497 ช่วยฉันด้วยเพราะฉันไม่เคยพบว่าทางลัด 'ไฟล์ใหม่' ซึ่งค่อนข้างมีประโยชน์เพราะใช้ ': e' สร้างไฟล์ในเครื่อง

ในที่สุดคำถามนี้ช่วยให้ฉันนำทางได้ดีขึ้นโดยใช้ netrw (กลับไปที่ explorer หลังจากเปิดไฟล์โดยใช้: Ex)

ขอบคุณสำหรับความช่วยเหลือของคุณ!


0

ฉันไม่แน่ใจว่าคุณหมายถึงอะไรโดย "แจ้งไฟล์ใหม่"; หากคุณต้องการสร้างไฟล์ใหม่เมื่อเรียกดูผ่าน scp: // ชื่อโฮสต์ / ไดเรกทอรีเพียงกด "%" เหมือนที่คุณทำเมื่ออยู่ในไดเรกทอรีท้องถิ่นเพื่อสร้างไฟล์ใหม่ ดู: ช่วย netrw-% คุณสามารถสร้างไดเรกทอรีโดยใช้ d (: help netrw-d) หากคุณต้องการแก้ไขไฟล์ที่มีอยู่แล้วให้เลือกด้วยเคอร์เซอร์ของคุณบนชื่อไฟล์ในจอแสดงผล netrw และกด<cr>(มีวิธีการเลือกอื่นเช่นกันเช่น v, o, t, ฯลฯ ) โปรดดู: ช่วย netrw-quickmap สำหรับภาพรวมเกี่ยวกับสิ่งนี้ ฉันเพิ่งลองและไม่ได้รับไฟล์เปล่า (เมื่อมีอยู่แล้ว) แน่นอนไฟล์ใหม่จะว่างเปล่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.