Эффективное использование gvim через сеть - PullRequest
5 голосов
/ 05 марта 2009

В настоящее время я использую vim в окне telnet для редактирования кода (очень старая школа!). Исходного кода много (в основном C), поэтому я использую тэги, cscope и т. Д. Это нормально, но сетевая задержка может сделать каждое нажатие клавиши «запаздывающим», что не так хорошо!

Я бы хотел использовать gvim на моем ПК с Windows (или любом другом редакторе, который можно настроить для этого), чтобы:

  1. Удаленное редактирование файлов через FTP (gvim уже может это сделать)
  2. Используйте файл TAGS, который либо хранится локально, либо на сервере (возможно, более эффективно использовать его на сервере, тогда мне не нужно передавать каждый файл по FTP). Я полагаю, что генерация файла, тогда FTP-сервер в нужное место на моем локальном компьютере будет в порядке.
  3. Запуск команд оболочки, как если бы я находился в каталоге файла на сервере (make, различные скрипты и т. Д.). У меня есть ssh доступ к машине, поэтому я не могу думать, что это будет проблемой.

Я немного знаком с vimscript, поэтому я не против немного склеить. Я подумал, что не могу быть единственным человеком, который когда-либо хотел это сделать, поэтому спрашиваю здесь.

Как я уже сказал - если есть какой-нибудь приличный редактор, у которого есть этот «встроенный», то я не против переключения!

Ответы [ 3 ]

6 голосов
/ 05 марта 2009

Вы также можете использовать SSH для удаленного редактирования вашего файла с помощью vim.

:e scp://remote.host.com/project/file

А затем используйте SSH для удаленного вызова make:

:!ssh remote.host.com '(cd project; make)'

Ctags

Чтобы использовать ctags удаленно, я бы создал файл tags удаленно, скопировал бы его на локальный компьютер и добавил scp: //remote.host.com / project / для каждого имени файла в тегах файлов. Вы можете сделать это с чем-то вроде

:%s#^\(\w\+\)\t#\1\tscp://remote.host.com/project/#

в файле тегов. Затем при работе с удаленным файлом вы используете ': set tags = local_ctags / tags' для ссылки на локальную (измененную) версию файла тегов.

2 голосов
/ 05 марта 2009

Как насчет монтирования удаленного каталога локально? Вы можете экспортировать его как общий ресурс SMB, монтировать NFS или для Windows доступно несколько эквивалентов файловой системы SSH (sshfs).

2 голосов
/ 05 марта 2009

опция 'tags' указывает Vim, где искать файл TAGS, хотя я не уверен, разрешает ли Vim пути ftp: // или scp: // в этой опции.

Вы можете запускать команды на сервере, используя :!ssh ...

Но не думаете ли вы, что было бы лучше использовать одну из систем контроля версий, работать с файлами локально, а затем помещать обновленные файлы на сервер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...