for f in `find -depth`; do mv ${f} ${f,,} ; done
find -depth
печатает каждый файл и каталог с содержимым каталога, напечатанным перед самим каталогом. ${f,,}
уменьшает имя файла.
Для удаления чего-то, не сохраняя его в регистре можно использовать "регистр черной дыры":
"_d
, Конечно, Вы могли также использовать любой из других регистров, которые не содержат ничего, чем Вы интересуетесь.
Удаленный текст, в то время как в режиме вставки, не входит в регистр по умолчанию.
Ну, сначала сделайте эту команду:
:h d
Тогда Вы поймете, что можно удалить в определенный регистр. Тем путем Вы не измените то, что находится в Вашем регистре по умолчанию.
В версии для Windows (вероятно, в Linux также), можно дергать в систему, скопировать/вставить буферизуют использование "*y
(т.е. предыдущий команда рывка с двойными кавычками и звездочкой).
можно тогда обычно удалять заменимые строки и вставлять скопированный текст с помощью "*p
.
Для 'слова замены', попробуйте cw
в нормальном режиме.
Для 'абзаца замены', попробуйте cap
в нормальном режиме.
При использовании Vim тогда, у Вас будет визуальный режим, который похож на выбор, но с отделяющейся вещью режимов это - основание vi/vim.
то, Что Вы хотите сделать, использовать визуальный режим, чтобы выбрать источник, затем дергать, затем использовать визуальный режим снова, чтобы выбрать объем места назначения, и затем вставить к тексту от буфера по умолчанию.
Пример:
В текстовом файле с:
1| qwer 2| asdf 3| zxcv 4| poiu
со следующей последовательностью: ggVjyGVkp
Вы закончите:
1| qwer 2| asdf 3| qewr 4| asdf
Объясненный:
gg
: перейдите к первой строке V
: запустите визуальный режим с целых строк j
: спуститесь по одной строке (с выбором, запущенным на предыдущих строках, это выращивает выбор одна строка вниз) y
: дергайте к буферу по умолчанию (две выбранных строки, и он автоматически выходит из Вас от визуального режима) G
: перейдите к последней строке V
: запустите визуальный режим (то же как прежде) k
: поднимитесь одна строка (как прежде, с визуальным включенным режимом, это выращивает выбор, который каждый выстраивает в линию) p
: вставка (с выбором на двух последних строках, это заменит те строки, с чем существует в буфере - 2 первых строки в этом случае) , Это имеет мало, неудобное, который помещает последний блок на буфер, таким образом, это не так или иначе желаемо для повторного приклеивания того же самого, таким образом, Вы захотите сохранить источник к именованному буферу с чем-то как [1 111] (к буферу, названному) и вставка с чем-то как [1 112] (но тогда если Вы запрограммируете, Вы, вероятно, не хотите вставлять несколько раз, но создавать функцию и называть ее, правильно? ПРАВО ?).
, Если Вы только используете vi, тогда необходимо будет использовать невидимые метки вместо этого визуальный режим, :he mark
для больше на этом, я сожалею, но я не очень хорош с этой невидимой вещью меток, я довольно загрязнен визуальным режимом.
Для определенного примера, который Вы дали, если я понимаю вопрос тогда, это могло бы работать:
*Highlight what you want to put somewhere else
*delete (d)
*Highlight the code that you want it to replace
*paste (p)
Да. Это является немного более замысловатым, чем удаление "старого" текста сначала, но:
я начинаюсь с..
line1
line2
line3
line4
old1
old2
old3
old4
я сдвиг + v выбирает line1, строка 2, 3 и 4, и удаляет их с командой
d Тогда, я удаляю старые 1-4 строки тот же путь.
Затем сделайте
"2p
, Это вставит предпоследние дергавшие строки (строка 1-4). "3p
сделает третье последнее, и так далее..
, Таким образом, я заканчиваю с [1 111]
line1
line2
line3
line4
Ссылка: документация Vim относительно пронумерованного регистра
Документы VIM: Пронумерованный регистр 0 содержит текст от новой команды рывка, если команда не указала другой регистр с ["x].
, Например, мы дергаем "нечто" и удаляем "панель" - реестр 0 все еще содержит "нечто"! Следовательно "нечто" может быть вставлено с помощью "0p
Для тех, кто использует JetBrans IDE (PhpStorm, WebStorm, ИДЕЯ IntelliJ) с IdeaVim. Можно испытывать проблемы с переотображением как nnoremap d "_d
и использование его для удаления строки dd
. Возможное решение для Вас: nnoremap dd "_dd
существуют проблемы о youtrack, голосуйте за них: https://youtrack.jetbrains.com/issue/VIM-1189 https://youtrack.jetbrains.com/issue/VIM-1363
Удобно иметь простое сопоставление, которое позволяет заменить текущий выбор с буфером.
Например, когда вы помещаете это в свой .vimrc
vmap r "_dP // it's a capital 'p' on the end
, то после копирования чего-либо в регистр (то есть с помощью 'y') вы можете просто выбрать текст, который вы хотите заменить, и просто нажать 'r' на клавиатуре. Выбранный вариант будет заменен вашим текущим регистром.
Пояснение:
vmap - mapping for visual mode
"_d - delete current selection into "black hole register"
P - paste
Я поместил в свой vimrc следующее:
noremap y "*y
noremap Y "*Y
noremap p "*p
noremap P "*P
vnoremap y "*y
vnoremap Y "*Y
vnoremap p "*p
vnoremap P "*P
Теперь я возвращаюсь и вставляю из регистра буфера обмена, и мне не нужно беспокоиться о том, что происходит с регистром по умолчанию. Дополнительным преимуществом является то, что я могу вставлять данные из других приложений с минимальными трудностями. Я знаю, что теряю некоторую функциональность, но я все равно не могу отслеживать более одного регистра / буфера обмена.
Я часто делаю ошибку, следуя командам «y'ank, затем» _d'elete в черную дыру затем 'p'aste. Я предпочитаю' y'ank, затем удаляю, как мне нравится, затем '"0p' из регистра 0, куда помещается последний скопированный текст.
Чтобы подчеркнуть то, что EBGreen сказал :
Если вы вставляете при выделении текста, выделенный текст заменяется вставленным текстом .
Если вы хотите скопировать какой-то текст, а затем вставить его в несколько мест, используйте "0p
для вставки. Пронумерованный регистр 0 содержит текст из самой последней команды восстановления.
Кроме того, вы можете перечислите содержимое всех ваших регистров:
:registers
Эта команда упрощает определение того, какой регистр вам нужен, когда вы выполняете что-то вроде ответа dbr . Вы также увидите регистры /,%, #. (См. Также : справочные регистры
)
И, наконец, проверьте cW
и cW
, чтобы изменить слово, включая и не включая конечный пробел. (Использование заглавная W
включает знаки препинания.)