VIM
- подсветка части строки, превышающей длину 80 символов.
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)
- подсветка "trailing spaces".
:au BufNewFile,BufRead * let b:mtrailingws=matchadd('ErrorMsg', '\s\+$', -1)
- подсветка символов табуляции среди пробелов.
:au BufNewFile,BufRead * let b:mtabbeforesp=matchadd('ErrorMsg', '\v(\t+)\ze( +)', -1) :au BufNewFile,BufRead * let b:mtabaftersp=matchadd('ErrorMsg', '\v( +)\zs(\t+)', -1)
Так выглядит VIM после добавления вышеперечисленных опций.
SSH
Мне часто приходится заходить на домашний компьютер, SSH которого смотрит только в локальную сеть и недоступен из интернета. Для захода на домашнюю машину используется промежуточный сервер. Для этого сначала лонинюсь на шлюз, а уже с него на домашний комп. Это терпимо ровно до тех пор пока не потребуется передавать файлы.
Один из вариантов - открыть вспомогательное SSH соединение и использовать его для проброса портов домашней машины на компьютер в интернете. Что-то вроде:
laptop $ ssh -N -L 2222:internal:22 gateway laptop $ scp -P 2222 -r something localhost:
Однако есть более простой способ, который позволяет исключить рутинную операцию. Он заключается в использовании опции ProxyCommand, например для хоста home.local:
Host home.local HostName your-gateway-hostname-or-ip ProxyCommand ssh your-gateway-hostname-or-ip nc -q 0 home.local 22 StrictHostKeyChecking no User your-username
Теперь копирование выполняется также, как и в локальной сети:
laptop $ scp -r something home.local:
UPDATE: Для использования netcat в ProxyCommand нужно добавить опцию -q 0, иначе netcat остается висеть в процессах после закрытия сессии.
Комментариев нет:
Отправить комментарий