vim - как ... дернуть фразу утилиты

Во-первых, NAT в Linux поддерживает состояние. Это означает, что вам не нужны исходящие и входящие правила. Когда трафик возвращается, который был NAT для исходящего трафика, linux автоматически отключит -NAT, который возвращает трафик.

Хотя основная проблема, с которой вы столкнетесь, заключается в том, что сеанс TCP определяется комбинацией:

  • IP-адрес источника
  • исходный порт
  • IP-адрес назначения
  • порт назначения

Исходный IP-адрес уже ограничен одним значением (IP-адрес host1 ). IP-адрес назначения уже представляет собой единственное значение (IP-адреса host2 ). Исходный порт имеет только 2 возможных значения (80 и 443 ). И порт назначения ограничен одним значением (5015 ).
Это означает, что вы можете установить максимум 2 одновременных соединения (, если вы распределяете нагрузку SNAT по 2 портам ). И даже при последовательных подключениях вы, вероятно, столкнетесь с проблемами повторного использования порта, например, если порт находится в состоянии TIME _WAIT.

Тем не менее, если вы действительно хотите попробовать это, правило, которое должно сделать это:

iptables -t nat -I POSTROUTING \
  -d $HOST2_IP -p tcp --dport $TCP_TRAFFIC_PORT \
  -j SNAT --to-source :$PROXY_PORT
3
06.03.2020, 15:38
1 ответ

Вы можете использовать:

y2/screenshot<CR>

Или, короче:

y2/screen<CR>

Это приведет к дерганию от позиции курсора до второго экземпляра слова «скриншот» в той же строке.

(Обратите внимание, что <CR>здесь означает нажатие клавиши «Возврат» для завершения поиска.)

Если у вас включено выделение добавочного поиска (set incsearch), вы увидите, что Vim выделяет это второе совпадение.

Кажется, вы путаете движение к персонажу с движением к предложению. Движение t(для «до тех пор», это t, а не u), принимает только один символ. Другим способом рывка в то же место будет y6ts, но это потребует от вас подсчета sв предложении, чтобы увидеть, что тот, который находится в начале второго экземпляра «скриншота», является 6-м sв этой строке. (В этом могут помочь плагины -.)

Существуют предостережения при использовании /для поиска (по сравнению с t, f, Tили Fдвижениями ), поскольку поиск /может найти совпадения в другой строке. и, если это произойдет,ваша операция копирования теперь будет извлекать содержимое, содержащее символы новой строки, что может оказаться удивительным или неожиданным при последующей вставке.

Наконец, использование визуального режима — отличный способ получить визуальную обратную связь и скорректировать свой выбор для операции, когда используемое движение неочевидно или вам нужна большая гибкость.

Например, вы можете начать с vts, а затем нажать ;, чтобы повторить это движение, пока не дойдете до второго "снимка экрана" (5 раз, как оказалось. )Легче считать, что это 6-й без подсветки! Оказавшись там, вы можете просто нажать y, чтобы дернуть его.

Или v/screen<CR>, затем вы понимаете, что это следующий, нажмите n, затем вы заметите, что начальная sвыбрана, нажмите h, чтобы переместиться вправо один раз, затем y, чтобы дернуть ее.

(Отвечая на ваш комментарий :, приведенные выше решения в визуальном режиме превосходят использование мыши IMO. vts;;;;;y— это 9 нажатий клавиш, но 5 из них на одну и ту же клавишу. Кроме того, ваши руки не отрываются от клавиатуры. И вам не нужно было считать буквы перед выделением, вы считаете только с визуальной помощью. По сравнению с этим перетаскивание мыши происходит медленнее.)

Если вы хотите найти плагин -, который мог бы помочь с этим типом движения, vim -easymotion — хороший выбор.

6
28.04.2021, 23:21

Теги

Похожие вопросы