Это не проблема с разрешением адресов IPv6. То определение имен хорошо работает, потому что завихрение сообщает, что не может достигнуть сети 2800:3f0:4001:806:: 1005; это показывает, что перевод имени действительно успешно выполнялся. Это отличается, чем ошибка в поиске имени:
$ curl -6 http://does.not.exist.foo.
curl: (6) Couldn't resolve host 'does.not.exist.foo.'
Для достижения адреса IPv6 у Вас должен быть маршрут к адресу назначения, и очень немного соединений имеют любую возможность соединения IPv6 вообще. На машине я пишу это, у меня есть почти маршруты № v6 вообще:
$ route -A inet6
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
fe80::/64 :: U 256 0 0 wlan0
ff00::/8 :: U 256 0 0 wlan0
который говорит Вас, которых я знаю, как достигнуть моей локальной сети и ничего больше. Контрастируйте это с моими маршрутами IPv4
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
…
который показывает, что у меня есть один очень критический бит маршрутной информации. Я знаю, как добраться до где угодно, что у меня нет явного маршрута к путем вручения пакета моему маршрутизатору по умолчанию в 192.168.1.1.
Ваше определение имен работает просто великолепно. Вам действительно нужен маршрут IPv6 к сети назначения, и слишком мало мест предоставляет ту услугу все же.
Если я правильно читаю:
Поиск
/ foo
Введите
Next by n
»
Бар
Esc BAZ
BAZ
Esc Для удобства я добавил:
imap <C-d> <ESC>
на .VIMRC
- забыл об этом и думал, что это отображение по умолчанию. Исправлено.
Следующий скрипт использовал промежуточную замену в =
символ (вы можете перейти на любое, что вы хотите):
#!/bin/sed -f
s/\s\+\s/=/g
/:[^=:]\+:/s/:[^=:]\+ /&=/g
s/^=/\t/
s/ *=$//
s/ *=/\n\t/g
Итак
ifconfig eth0 | sed -f script.above
Выходы:
eth0
Link encap:Ethernet
HWaddr 74:2f:68:8b:b8:6e
inet addr:192.168.1.247
Bcast:192.168.1.255
Mask:255.255.255.224
inet6 addr: fe80::762f:68ff:fe8b:b86e/64
Scope:Link
UP BROADCAST RUNNING MULTICAST
MTU:1500
Metric:1
RX packets:3128543
errors:0
dropped:1
overruns:0
frame:0
TX packets:1346967
errors:0
dropped:0
overruns:0
carrier:0
collisions:0
txqueuelen:1000
RX bytes:4538616348 (4.5 GB)
TX bytes:118149772 (118.1 MB)
-121--145973- Вы можете повторить много команд в Vim
, набрав первый номер, как часто их следует повторять. Это также работает для команды N
.
Чтобы изменить Е.Г. 9-го появления FOO
Тип
/ foo
Введите , чтобы перейти к первому расположению foo
8n
прыгать восемь раз на следующее место. Тогда вы находитесь на девятом вхождении CW
, чтобы изменить слово и введите новое слово. Вы можете продолжить шаги 2. и 3. Как описано в Этот ответ
Вы можете использовать глобальный поиск «G», чтобы квалифицироваться, какие строки вы должны заменить
:g/qualifyingregexp/s/foo/bar/igc
, чтобы дополнительно ограничить Даже указать маркеры
:'a,'bg/qualifyingregexp/s/foo/bar/igc
Для обычного поиска и замены опции в vim
можно использовать опцию подтверждения, например, передав gc
.
Например, если необходимо заменить слово foo
на bar
, то добавляется строка
:%s/foo/bar/gc
Таким образом, везде, где встречается слово foo
, запрашивается подтверждение замены слова bar
. Если нажать y
, то оно будет заменено и n
нет.
Флаг c
можно использовать при выполнении поиска и замене :
:%s/foo/bar/gc
Каждый раз, когда vim
находит foo
, будет запрашивать да/нет
для подтверждения замены или отказа от замены.
Или, если вы хотите найти N-е событие foo
, вы можете:
n/foo
Тогда vim
перепрыгнет на N-е событие foo
, так что вы можете принять решение о замене или отказе.