Когда я пытаюсь выполнить поиск строки, начинающейся со слэша/символа в vi, курсор переходит к следующему результату поиска из предыдущего поиска. Тем не менее, я хотел бы найти буквальный символ косой черты. Как это можно сделать?
Как я могу избежать символа косой черты в vi?
Ответ 1
Введите это:
/\/
Ответ 2
Используйте обратную косую черту.
:/\/
Это приведет к поиску следующей косой черты.
Ответ 3
Вам не нужно бежать /
, если вы используете ?
?/home/my_user/ # and enter to search backwards
/ # and enter to search forwards
Смотрите здесь.
Ответ 4
Я потратил слишком много времени на это, поэтому позвольте мне быстро ответить здесь. Побег char в vi (vim также, я думаю, я использую поле CentOS здесь) является "\" , как ответ lutz от 8 лет назад. У меня есть этот материал, который был встроен в Windows, я конвертирую в Linux. Как правило, у вас может быть файл с абсолютными адресами в каталоге, и вы хотите преобразовать косые черты с "\ yatta\yatta\blah..." в "/yatta/yatta/blah...", все события во всех линиях. Для vi все строки% s, а конечный g означает все события в каждой строке. Итак, отредактируйте файл с помощью vi или vim и нажмите escape и двоеточие, чтобы получить приглашение ":", и введите:
%s/\\/\//g
Все символы "\" заменяются на "/". Но вам все равно придется менять ссылки "c:" на "/home/prod" или что-то в этом роде, чтобы сидеть перед "/yatta/yatta/blah...". Легко. Выход vi char равен "\" , поэтому вы нажимаете esc и вводите ":" для перехода в режим ввода vi cmd и введите:
%s/c:/\/home\/prod/g
Есть много быстрых "чит-листов" доступных команд vi/vim. Это вездесущий инструмент, доступный практически для каждой системы Linux/Unix - даже на взломанных iPad и т.д.
Ответ 5
--- oops, извините, я ввел информацию для замены. Escaping with\лучше для поиска
Используйте другой разделитель
:%s./.z.
заменит все "/" буквой z