PostgreSQL
coub
css
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
python
task1
ubuntu
vim
virtualbox
анекдот
игры
интересно
музыка
стихи
цитаты
vim
You have to
login
to post a new comment.
Vim: поиск и замена строк в файле
October 22, 2013
Я пользуюсь этим в виме не часто пока и постоянно забываю как там танцуется эта замена, самый простенький вариант примерно такой: имеем файл пример с таким содержимым:
Интересный нюанс: чтобы заменить что-то с переводом строки \n придется использовать \r то есть примерно вот так
./folder1/folder2/file1.txt ./folder1/folder2/file2.txt ./folder1/folder2/file3.txt ./folder1/folder2/file4.txt ./folder3/folder5/file5.txt ./folder3/folder5/file6.txt ./folder3/folder5/file7.txt ./folder4/folder6/file8.txt ./folder4/folder6/file9.txt ./folder4/folder6/file10.txtДопустим нужно отрезать из каждой строки все что касается пути, то есть чтобы остались только имена файлов. Переходим в командный режим и выполняем
:%s/\.\/.*\///gcВыглядит довольно похабно, но в общем-то главное знать что искать. Синтаксис замены вообще примерно такой
:%s/serach-str/replace-str/gsearch-str - то что ищем, replace-str - то на что заменяем, просто в примере выше использовано регулярное выражение и слешей много из-за обычного скрина точки и слешей. Модификатор c в примере означает что каждое найденное совпадение и соответственно его замену нам надо будет подтвердить, иначе все найденное в файле будет молча заменено.
Интересный нюанс: чтобы заменить что-то с переводом строки \n придется использовать \r то есть примерно вот так
:%s/\n/ -- \r/gcЛибо как вариант, тоже самое
# чтобы ввести ^M жмем (прямо в строке набора команды) Ctrl+v - Enter :%s/\n/ -- ^M/gc
Comments
No comments here yet.